如何用Python发邮件

发布网友 发布时间:2022-04-23 12:22

我来回答

1个回答

热心网友 时间:2022-04-07 08:29

一般最好有个smtp服务器,比如说你在163注册个邮箱,这样可以用smtplib通过这个邮箱来发送。以下是示例:

#-*- coding:utf8 -*-
import smtplib
import email
import mimetypes
from email.MIMEMultipart import MIMEMultipart
from email.mime.text import MIMEText

mail_host="smtp.163.com"
mail_user="yourusername"
mail_pass="yourpassword"
mail_postfix="mail.163.com"

def sendmail(to_list,sub,con):
"""发送邮件
"""
# translation
me = mail_user+"<"+mail_user+"@"+mail_postfix+">"

msg = MIMEMultipart('related')
msg['Subject'] = email.Header.Header(sub,'utf-8')
msg['From'] = me
msg['To'] = ";".join(to_list)
msg.preamble = 'This is a multi-part message in MIME format.'

msgAlternative = MIMEMultipart('alternative')
msgText = MIMEText(con, 'plain', 'utf-8')
msgAlternative.attach(msgText)
msg.attach(msgAlternative)

try:
s = smtplib.SMTP()
s.connect(mail_host)
s.login(mail_user,mail_pass)
s.sendmail(me, to_list, msg.as_string())
s.quit()

except Exception,e:
return False

return True

if __name__ == '__main__':
if sendmail(['test@test.com'],"测试","测试"):
print "Success!"
else:
print "Fail!"

如果要不经过邮件系统直接发,通常会被当作垃圾邮件扔了,所以还是这样吧。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com