【发布时间】:2011-09-14 09:55:53
【问题描述】:
我有一些用于发送电子邮件的代码。它可以在 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 ---- ")
【问题讨论】:
-
sendmail 调用返回什么?它是字典或抛出异常
-
我认为您不需要 ehlo() 调用,因此请尝试删除它。也尝试设置 smtp.set_debuglevel(1) 看看发生了什么。
-
在控制台中执行
telnet mail.myCompany.co.za 25会发生什么?
标签: python macos email smtplib