{1.8.0版本的Python在Windows上使用^-3.0的Python。我可以让yagmail从我的主机发送电子邮件,但附件就是不起作用。在
yagmail.Connect('myemail@gmail.com','password').send('someguy@gmail.com', 'Test', 'This is a test', 'c:\\users\\lenovo\\appdata\\local\\temp\\mydoc.docx')
这将返回一个空dict,控制台中没有错误。邮件显示了正确的主题和正文,但没有附件。一开始我以为我的防病毒软件可能会删除附件,但在防病毒日志中没有任何迹象表明它是。在
注:很明显,yagmail没有标签,我也没有代表来创建它。在
编辑-1:一些进展(?)在
^{pr2}$…导致以下错误。在
Traceback (most recent call last):
File "<string>", line 301, in runcode
File "<interactive input>", line 1, in <module>
File "C:\Python33\lib\site-packages\yagmail-0.3.78-py3.3.egg\yagmail\yagmail.py", line 73, in send
return self._attempt_send(addresses['recipients'], msg.as_string())
File "C:\Python33\lib\site-packages\yagmail-0.3.78-py3.3.egg\yagmail\yagmail.py", line 79, in _attempt_send
result = self.smtp.sendmail(self.user, recipients, msg_string)
File "C:\Python33\lib\smtplib.py", line 749, in sendmail
msg = _fix_eols(msg).encode('ascii')
UnicodeEncodeError: 'ascii' codec can't encode characters in position 713-715: ordinal not in range(128)
编辑2:感谢PascalvKooten,请参阅下面的答案。只是关于语法的注释。。。在
yagmail.SMTP('mymail@gmail.com','password').send('someguy@gmail.com','Test1.2','This is a test','C:\\Users\\Lenovo\\AppData\\Local\\Temp\\mydoc.docx')
不适合我。不过,下面的结构确实有效。在
contents = ['This is a test', 'C:\\Users\\Lenovo\\AppData\\Local\\Temp\\mydoc.docx']
yagmail.SMTP('mymail@gmail.com','password').send('someguy@gmail.com','Test1.2',contents)
作为yagmail包的维护者回答:请参阅此问题https://github.com/kootenpv/yagmail/issues/5
从0.3.81版开始应该解决这个问题。在
请用
pip3 install -U yagmail
更新我从来没有在windows上测试过这个,所以这是我唯一的不确定因素。在
相关问题 更多 >
编程相关推荐