首页 > Python基础教程 >
-
python实现发QQ邮件
最近在忙于找实习,所以没时间更新,在这里跟大家说声抱歉。笔者感觉今年工作真有点难找,目前还没找到。。。
先不说这些了,今天给大家分享的是用python实现给QQ邮箱发邮件。平常我们发邮件都是直接打开QQ邮箱发,但是如果直接用python操作,会是怎样呢,我们接下来来操作一下。
一、开启SMTP服务
先说一下什么是SMTP?
SMTP:(SMTP:Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
简单的说,通过SMTP协议所指定的服务器,我们就可以把E-mail寄到收信人的服务器上了。
了解了之后,我们就需要开启smtp服务,获取授权密码。这个要登陆qq邮箱进行操作。
登陆QQ邮箱后,在设置-账户找到SMTP服务。如下图,如果处于关闭状态的要开启一下。
之后我们要点击生成授权码,生成属于自己邮箱的授权码。这个可以通过短信验证生成。有了授权码后就可以在代码里添加了。
二、python发送邮件
python发送邮件需要用到python自带的两个模块,smtplib和email。
smtplib的用法:
- 创建SMTP的操作对象并连接smtp目标服务器,可以是163、QQ等
- 根据自己的账号登录目标服务器(自己的邮箱地址和邮箱授权码)
- 调用对象中的方法,发送邮件到目标地址
下面说下email模块:
email模块下的mime模块下有常用的三个模块,三个模块中有三个大类。其实就是下边这三个
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
其中MIMEText,表示一个文本邮件对象,MIMEImage,表示一个作为附件的图片对象,要把多个对象组合起来,就用MIMEMultipart对象,他代表的是整个邮件。MIMEApplication是用来发附件的,不管什么类型的附件,都可以用MIMEApplication,所以发送图片可以用这个也可以用MIMEImage,但是我一般都用MIMEApplication,因为比较方便。
下面来看下代码
代码都有解释,这里就不说了。大家记得passwd这个属性的值不是你的qq密码,是上面说的授权码。还有如果没有两个邮箱的话,是可以自己发送给自己的,也就是发送方和接收方的邮箱都是一样的。
如下,发送成功
最后,祝愿各位工作顺利,同时也祝愿自己尽快找到工作,哈哈。
公众号【python编程之美】后台回复“邮件”即可获得本文所有代码文件。