一般用SMTP协议发邮件。Python的内置模块email可以生成邮件内容信息。内置模块smtplib,可以登录,可以发邮件。
SMTP的全称是“简单邮件传输协议”,即简单邮件传输协议。它是将邮件从源地址传输到目的地址的一组规范,通过这些规范来控制邮件的传输方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或传输信件时找到下一个目的地。SMTP服务器是遵循SMTP协议的邮件发送服务器。
SMTP认证,简单来说就是要求登录SMTP服务器前必须提供帐户名和密码,这就让那些垃圾邮件制造者没有了可乘之机。
增加SMTP认证的目的是为了防止用户被垃圾邮件入侵。
使用脚本发送邮件时,必须知道邮件服务器的地址和端口。比如以下是网易163免费邮箱的服务器信息:
https://help.mail.163.com/faqDetail.do代码=d 7 a5 DC 8471 CD 0 c 0 e 8 B4 b 8 F4 F8 e 49998 b 374173 cfe 9171305 fa 1c e630 d 7 f 67 AC 22 DC 0 e 9 af 8168582 a
用于以预定格式向多个电子邮件地址自动发送包含附件的电子邮件的Python代码:
以上代码运行后,无需登录自己的邮箱,就可以向多个设定的邮箱发送邮件。
附加代码:
从email.mime.text导入MIMEText
从email.mime.multipart导入MIMEMultipart
from email.header导入标题
SMTP是简单邮件传输协议。
# 1邮件消息
email_from='wwuhnwu@163.com '
sender=email_from
email_to=[ 'wwuhnwu@163.com '' 2283517648@qq.com' ]
接收者=''加入(电子邮件地址)
密码='***** '
email_subject='从wwu更新数据'
body=' ' '
亲爱的大家:
附上请查收!
'''
annex _ path=' D:\ \ Users \ \ wwuhnwu 01 \ \ Desktop \ \ website . rar '
annex_name='website.rar '
# 2生成邮件(电子邮件模块)
message=MIMEMultipart()
message.attach(MIMEText(body,' plain '' utf-8 '))
邮件['发件人']=标题(发件人,' utf-8 ')
消息['收件人']=标题(收件人,' utf-8 ')
邮件['主题']=标题(电子邮件主题,' utf-8 ')
att1=MIMEText(open(annex_path,' rb ')。read(),' base64 '' utf-8 ')
att1['内容类型']='应用程序/八位字节流'
att 1[' Content-Disposition ']=' attachment;filename='附件名称
message.attach(附件1)
# 3发送邮件(smtplib模块)
尝试:
smtp=smtplib。SMTP_SSL('smtp.163.com '465)
smtp.login(email_from,密码)
打印('登录成功!')
smtp.sendmail(email_from,email_to,message.as_string())
打印(“发送成功!”)
smtp .退出
例外情况除外:
print(traceback.print_exc())
打印('发送失败!')
-结束-