Yagmail 将邮件正文转换为 base 64

Yagmail converts message body to base 64

我发送了一封包含以下 python 代码的电子邮件:

import yagmail, sha, sys, os
os.system('stty -echo')
password = raw_input('Gmail password: ')
os.system('stty echo')
print ''
if not sha.sha(password).hexdigest() == 'digest_of_the_password':
    print 'Password Declined'
    sys.exit()
yag = yagmail.Connect('me@gmail.com', password)
yag.send('to@example.com', 'Hi', "G'day")

主题出来是'Hi',但是主体出来了'RydkYXk='。我在 mac 终端中使用以下命令安装了 yagmail:sudo pip install yagmail

如何修复此错误?

作为维护者,我深表歉意!

我不小心在错误的行中添加了一个制表符,这也为文本添加了 base64 编码!

如果您现在使用 sudo pip install -U yagmail,它将升级到已解决此问题的新版本。

对于未来的错误,请将它们提交到 github,我会尽量在发布后 24 小时内解决所有问题。

请注意,现在您可以简单地省略密码:它会在提示您输入一次密码后将其安全地保存在密钥环中。在这种情况下,这将为您节省很多行:

import yagmail
yag = yagmail.SMTP('me@gmail.com')
yag.send('to@example.com', 'Hi', "G'day")