Python 接收base64电子邮件而不是普通字符串
我已经编写了一段非常简单的代码将简单的字符串发送到我的gmail,当使用小字符串时,它可以完美地工作; 当我开始处理更大的字符串时,我收到了一堆加密文本,而不是普通的字符串 有这种问题的人?这是否与安全有关,是否有可能避免Python 接收base64电子邮件而不是普通字符串,python,python-3.x,Python,Python 3.x,我已经编写了一段非常简单的代码将简单的字符串发送到我的gmail,当使用小字符串时,它可以完美地工作; 当我开始处理更大的字符串时,我收到了一堆加密文本,而不是普通的字符串 有这种问题的人?这是否与安全有关,是否有可能避免 def send_email(sender_email,receiver_email,password,txt, subject) : message = MIMEMultipart(txt) message["Subject"] = subject
def send_email(sender_email,receiver_email,password,txt, subject) :
message = MIMEMultipart(txt)
message["Subject"] = subject
message["From"] = sender_email
message["To"] = receiver_email
# Turn these into plain/html MIMEText objects
part1 = MIMEText(txt, "plain")
message.attach(part1)
context = ssl.create_default_context()
with smtplib.SMTP_SSL("smtp.gmail.com", 465, context=context) as server:
server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, txt)
这是我收到的:
TsK6IEFsYXJtZTogKDcyCk1lbnNhZ2VtOiAgJ0FWSVNPIC0gU0VSVk8nClRpcG8gZGUgRXJybzog
ICDFJWPTDGF0DXMGCGFYYWRVOIAGJ0GNCLBYB2NLZGLTZW50BKZSBLBGLTAW5HW6FDO286ICAN
TyckRxHPYMNDP8OJB286ICANQXP1BCKQ2F1C2E6ICANtyBZZXJ2BB3RVCIBLC3TDOSBJYXJY
ZWDHZG8GZGGGZM9YBWEGYW5VCM1HBC4NCKHDP8OJBZOGICDZXNSAWD1ZSBVIE5DIGIGYSBTW6FX
dWluYQo=
就像托克斯说的那样
您可能希望使用MIMEText yes和2:server.sendmail(发送者电子邮件、接收者电子邮件、txt)应该是server.sendmail(发送者电子邮件、接收者电子邮件、消息)
这和
server.sendmail(发送者\电子邮件、接收者\电子邮件、消息.as\字符串)
“消息。作为字符串”
显然解决了这个问题!
谢谢你这是base64,在谷歌中搜索解码器问题是,我假设接收电子邮件的人无法访问解码器,或者需要立即阅读文本。为了解决这个问题,你需要更改默认情况下
MIMEText
的编码机制base64
。你们可以在我可以问一个问题的时候得到编码机制的更多细节吗?如果以后不使用,为什么要生成消息
?或者它是在代码的另一部分?1:您可能想使用MIMEText
是,2:server.sendmail(发送者电子邮件,接收者电子邮件,txt)
应该是server.sendmail(发送者电子邮件,接收者电子邮件,消息)