用QQ邮箱给本身发送文本邮件:服务器
简单的邮件传输协议SMTP,用于在邮件服务器之间发送电子邮件测试
Python提供了smtplib模块,使用该模块能够进行接收发送邮件和监听这样一个过程ui
格式为:spa
import smptlibdebug
smpt_object = smptlib.SMPT(host,port,local_hostname)调试
host:运行SMTP服务器的主机code
port:主机端口server
local_hostname:若是在本地运行,则指定localhost对象
SMTP对象下有一个sendmail()方法,该方法用于执行邮件发送工做;有三个参数 from_addr, to_addrs, msg,分别为发件人、收件人和发送的信息blog
from smtplib import SMTP_SSL from email.mime.text import MIMEText from email.header import Header def senreport(): #QQ邮箱的SMTP服务器地址 host_server = "smtp.qq.com" # 发件人QQ邮箱 sender = "发件人" # 受权码 pwd = "受权码" # 收件人 receiver = "收件人" # 邮件正文内容 mail_content = "测试邮件" # 邮件标题 mail_title = "测试报告" # QQ邮箱是由SSL的 # SSL登陆 smtp = SMTP_SSL(host_server) # 用来调试,1表示打开,0表示关闭 smtp.set_debuglevel(1) # 服务器名 smtp.ehlo(host_server) # 登陆 smtp.login(sender,pwd) # 邮件正文,格式为默认的,字符集为utf-8 msg=MIMEText(mail_content,"plain","utf-8") # 邮件头 msg["Subject"] = Header(mail_content,"utf-8") msg["From"]=sender msg["To"]=receiver smtp.sendmail(sender,receiver,msg.as_string()) # 退出 smtp.quit() # 测试一下 senreport()
测试以后能成功发送并接收邮件
给多人发送邮件时,就在收件人那里改一下,以列表的形式存放收件人邮箱地址,而后再把msg["To"]去掉便可