手把手教你用python发邮件

《手把手教你用python发邮件》

简介

当你有个on-the-fly的线上程序,需要定期获取结果或进程记录时,使用Python创建一个邮件发送程序难道不是一件非常有意思的事情吗?发送email就跟我们去邮局寄信是相似的。我们去寄信,当地必须要有一个邮局,同样,电子邮局需要给每个发email的人一个独立的邮箱,并配有账号和密码。通过电子邮局的中转将发件人的信息转达给收件人。

实现过程

首先,需要导入smtplib模块,专门负责发送邮件。MIMEText用于构建正文和附件内容,MIMEMultipart用于构建带附件的邮件对象,Header用于构建邮件的头部,包括发件人、收件人和主题。

senderPSW变量是发件人账号的授权码,而不是邮箱密码,对于qq邮箱,请看这里申请。

实例化一个MIMEMultipart邮件对象msg。使用Header()函数传入发件人、收件人和主题。

下一步,使用msgattach()方法将正文mail_body附加上去。

接着构造两个附件att1att2。其中使用MIMEText()函数将sample.txtsample.png以base64的编码格式包装好。

这三个参数的含义:

  • 打开文件并读取得到的字节
  • 字节编码格式为base64
  • 显示时的编码格式:utf-8

需要注意的是:

filename为附件的名称,构造完成后,需要使用attach()方法将附件添加进msg中。

准备工作做好后,就可以向电子邮局投邮件了。

这里使用的是qq邮箱,它的电子邮局是 smtp.qq.com ,端口号为465

运行程序,如果不出错误的话,几秒钟后就能收到反馈信息,提示“邮件发送成功!”。

点赞

发表评论

邮箱地址不会被公开。 必填项已用*标注

4 × 2 =