使用SMTP SSL/端口465发送邮件
我想用我的bluehost邮箱通过SMTP SSL/465端口发送邮件。
我在谷歌上找不到能用的代码,试了超过5个代码都不行。所以,有谁能提供一个可以用来通过SMTP SSL/465端口发送邮件的有效代码吗?
3 个回答
5
你不应该发这样的提问。请告诉我们你做了些什么,有没有尝试过?写过什么代码等等。
无论如何,希望这些对你有帮助。
import smtplib
fromaddr = 'uremail@gmail.com'
toaddrs = 'toaddress@ymail.com'
msg = "I was bored!"
# Credentials
password = 'password'
# The actual mail send
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login(fromaddr,password)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()
print "done"
6
对于SSL的465端口,你需要使用SMTP_SSL,而不是单纯的SMTP。
想了解更多信息,可以查看这里。
26
为了更清楚地说明dave的解决方案,我来分享一下我是怎么让我的SSL服务器正常工作的(我不是在用gmail,但原理是一样的)。我的邮件系统会在某个特定文件缺失时发送邮件(出于内部目的,这种情况是不好的)。
import smtplib
import os.path
from email.mime.text import MIMEText
if (os.path.isfile("filename")):
print "file exists, all went well"
else:
print "file not exists, emailing"
msg = MIMEText("WARNING, FILE DOES NOT EXISTS, THAT MEANS UPDATES MAY DID NOT HAVE BEEN RUN")
msg['Subject'] = "WARNING WARNING ON FIRE FIRE FIRE!"
#put your host and port here
s = smtplib.SMTP_SSL('host:port')
s.login('email','serverpassword')
s.sendmail('from','to', msg.as_string())
s.quit()
print "done"