python3使用email模块发送邮件

这里是以163邮件为例

​```python
#! /usr/bin/env python
# coding=utf-8
"""
example: python3 send_mail.py
"""

from email.mime.text import MIMEText
from email.header import Header
import smtplib
from email.utils import parseaddr, formataddr


def __format_addr(k):
	name, addr = parseaddr(k)
	return formataddr((Header(name, 'utf-8').encode(), addr))


def send_mail():

	# 163邮箱smtp服务器
	wy_server = 'smtp.163.com'
	# sender_163为发件人的163号码
	sender_163 = 'xxx'
	# pwd为163邮箱的授权码
	pwd = 'WPBXNAGFNDWHGDXGFS'
	# 发件人的邮箱
	sender_163_mail = 'xxx3@163.com'
	# 收件人邮箱
	receivers = ['xxx1@126.com','xxx2@163.com']

	# 邮件的正文内容
	mail_content = '你好,这是使用python登录163邮箱发邮件的测试'
	# 邮件标题
	mail_title = 'mike的邮件'

	try:

		# ssl登录
		smtp = smtplib.SMTP_SSL(wy_server)
		# set_debuglevel()是用来调试的。参数值为1表示开启调试模式,参数值为0关闭调试模式
		smtp.set_debuglevel(0)
		smtp.ehlo(wy_server)
		smtp.login(sender_163, pwd)

		msg = MIMEText(mail_content, "plain", 'utf-8')
		msg["Subject"] = Header(mail_title, 'utf-8').encode()
		msg["From"] = __format_addr(sender_163_mail)
		msg["To"] = __format_addr(receivers)
		smtp.sendmail(sender_163_mail, receivers, msg.as_string())
		smtp.quit()
		return "success"
	except smtplib.SMTP_SSLException as e:
		return "error"


if __name__ == "__main__":
	print(send_mail())



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值