如何用Python发邮件?

诗书塞外 Python程序员 发邮件几乎是每一家公司都会遇到的问题. 公司往往需要发送营销邮件, 用户激活邮件, 忘记密码找回邮件等等. 学会用Python发邮件, 用处大大地!

第一步, 毫无疑问, 导入相关库

这里我们只讲解发送纯文本邮件和HTML邮件, 不讲解发送图片和附件的情况. 因为根据实际经验, 我们很少有发送图片和附件的需求, 而实现它们的代码增加了不少的复杂度, 让部分初学者望而生畏. 所以这里我们不做讲解, 有需要的同学可以自己上网去研究相关的文章.

我们导入的模块smtplib负责和邮件服务器连接, 并发送接收邮件. MIMEText负责构建一个邮件服务器能够理解的文本格式.

第二步, 设置一些配置信息

MAIL_HOST是服务器的域名, 我这里是qq的邮箱服务. 网易的是"smtp.163.com", 其他服务的地址大家自己去自己想用的邮箱中查看哈~ MAIL_PORT是端口号, 几乎各家都是25, 所以这个值几乎不会变动. 最后是登陆的用户名, 密码, 和你在网页上登陆使用的是同一个.

第三步, 连接邮箱服务器

实例化 --> 连接 --> 登陆, 简单易懂

第四步, 构建需要发送的数据

第一行的text_type有两个可以选用的值: "plain"和"html", 分别表示发送的是纯文本还是Html. 发送的实际内容放置在text变量中, 需要进行适当的编码. 接下来三行分别设置了主题, 发件人和收件人. 收件人可以是多个, 用";"连接. to_list是一个字符串列表, 包含所有收件人的信息.

最后, 实际发送

使用MIMEText的as_string()方法输出邮件服务器能够理解的格式.

One More Thing, 发送完邮件要关闭连接, 避免内存泄露.

步骤太多了, 看着都烦恼, 用起来更不方便. 没关系, 小编已经帮大家把各个部分都梳理在一起, 形成了一个模块, 可以直接调用使用! 代码如下, 注意最后的调用方式 这么多代码不会让我手敲到自己的电脑里吧~当然不会! 访问 http://www.freelycode.com/

这个是本公众号的PC版网站, 这段代码可以在网站上找到, 然后复制粘贴就可以了. Bingo!

That's all for today.