Python 接收base64电子邮件而不是普通字符串

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

我已经编写了一段非常简单的代码将简单的字符串发送到我的gmail,当使用小字符串时,它可以完美地工作; 当我开始处理更大的字符串时,我收到了一堆加密文本,而不是普通的字符串

有这种问题的人?这是否与安全有关,是否有可能避免

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(发送者电子邮件,接收者电子邮件,消息)