0

我有一些用于发送电子邮件的代码。它可以在 Windows 上运行,但是当我尝试在 Mac 上运行它(使用与 Windows 机器上相同的用户登录名)时,它不会发送电子邮件或返回任何错误。

有人对这种事情有任何经验,或者例子,提示,解决方案吗?

import smtplib
import mimetypes
from email import encoders
from email.message import Message
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText


import platform

SERVER = "mail.myCompany.co.za"
COMMASPACE = ', '


SUBJECT = "testing"
TEXT = "mac dev test\n\nSent from: " + platform.platform()
TO = [ 'jared.glass@myCompany.co.za' ]
FROM = "jared.glass@myCompany.co.za"


# connect to the server
smtp = smtplib.SMTP( SERVER )

smtp.ehlo()


# if attachments are too big, try gain and just add them as links
# Create the container (outer) email message.
msg = MIMEMultipart()
msg['Subject'] = SUBJECT
msg['From'] = FROM
msg['To'] = COMMASPACE.join(TO)      
msg.attach( MIMEText( TEXT , 'plain') )

smtp.sendmail( FROM , TO , msg.as_string() )


smtp.close()               
print(" ---- SUCCESS ---- mail sent ---- ")
4

1 回答 1

0

sendmail 调用没有返回任何结果 - 只是 {}。最后我不知道为什么,但出于纯粹的烦恼,我尝试了

smtp.starttls()
smtp.login('username', 'password')

它似乎解决了这个问题。

对我来说,您需要这样做才能使脚本在 mac 上运行,因为它在没有登录的情况下在 windows 机器上运行良好...... Grrrrr mac。

感谢您的建议:)

于 2011-09-15T06:34:47.000 回答