Python十几行代码实现邮件自动发送

Posted 程序员唐丁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python十几行代码实现邮件自动发送相关的知识,希望对你有一定的参考价值。

本次教程用Python十几行代码实现邮箱邮件自动发送。

一、开发环境:

安装好Python环境,需要使用的库函数:smtplib和email,这两者为Python自带库,无需安装。

二、配置发送邮箱信息

发送邮箱设置(两种方案)

1、不使用第三方服务,即本机安装 sendmail(邮件传输代理程序)

安装详情参考:https://my.oschina.net/u/588516/blog/2354019

2、使用第三方 SMTP 服务(本人亲用,大家可以自行选择)

开启SMTP方法授权,获取授权码(授权码很重要),步骤:

1)进入邮箱设置

2)找到POP3/SMTP服务,默认关闭,你需要将它开启

3)开启POP3/SMTP服务时,需要进行身份的验证,按要求来发送一条短信后,点击我已发送

4)通过验证的话,就会得到授权码了,在客户端中,配置时密码换成这个授权码就可以了

三、获取邮箱服务器地址和SSL端口号(根据自己选择的邮箱提供商选用)

a) qq邮箱

i. 接收邮件服务器:pop.qq.com,使用SSL,端口号995

ii. 发送邮件服务器:smtp.qq.com,使用SSL,端口号465或587

b) 163邮箱

i. 发送邮件服务器:smtp.163.com,使用SSL,端口号465

ii. 若安全类型选择“无”,则需将端口号修改为 25

c) 126邮箱

i. 发送邮件服务器:smtp.126.com,使用SSL,端口号465

ii. 若安全类型选择“无”,则需将端口号修改为 25

四、代码实现

#导入所用库函数

import smtplib

from email.mime.text import MIMEText

from email.utils import formataddr

#服务商发送服务器地址

host = 'smtp.126.com'

#服务商发送服务器端口号

port = 465

#发件人邮箱账号

my_sender='xxx@xx.com'

#发件人邮箱密码

my_passwd = 'xxxxxxx'

#收件人邮箱账号

to_user='xxx@xx.com'

# 邮箱服务器地址和端口

smtp_s = smtplib.SMTP_SSL(host=host, port=port)

#登录邮箱

smtp_s.login(user=my_sender, password=my_passwd)

#发送信息内容定义

msg = MIMEText(content, _subtype=content_type, _charset="utf8")

#发件人,默认为邮箱名,可设置别名

msg["From"] = formataddr(('程序员唐丁',self.msg_from)) 

#发送对象邮箱

msg["To"] = to_user

#发送主题

msg["Subject"] = subject

#确认发送

smtp_s.send_message(msg, from_addr=my_sender, to_addrs=to_user)

更多教程欢迎关注微信公众号“程序员唐丁”

以上是关于Python十几行代码实现邮件自动发送的主要内容,如果未能解决你的问题,请参考以下文章

Github 大牛封装 Python 代码,实现自动发送邮件只需三行代码

Python用20行代码实现完整邮件功能 [完整代码+建议收藏]

Python用20行代码实现完整邮件功能 [完整代码+建议收藏]

python实现git代码更新后发送邮件通知

python_十几行代码实现简单播放器

python 自动发送邮件发送多人群发多附件