1.发送邮件
实验背景
检查和答复电子邮件会占用大量的时间。当然,你不能只写一个程序来处理所有电子邮件,因为每个消息都需要有自己的回应。但是,一旦知道怎么编写收发电子邮件的程序,就可以自动化大量与电子邮件相关的任务。 例如,也许你有一个电子表格,包含许多客户记录,希望根据他们的年龄和位置信息,向每个客户发送不同格式的邮件。商业软件可能无法做这一点。好在,可以编写自己的程序 来发送这些电子邮件,节省了大量复制和粘贴电子邮件的时间。 也可以编程发送电子邮件和短信,即使你远离计算机时,也能通知你。如果要自动化的任务需要执行几个小时,你不希望每过几分钟就回到计算机旁边,检查程序的状态。相反,程序可以在完成时向手机发短信,让你在离开计算机时,能专注于更重要的事情。
实验步骤
-
连接邮箱服务器,登录邮箱(可能需要开启第三方授权码)
-
创建邮件对象,主题,发送者,接受者,附件.要求邮件正文中显示图片.
-
将邮件发送给第三者或者本人,完成实验
参考资料
SMTP:简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
smtplib:提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。
email:email库可以用来构建邮件主题以及各种形式的邮件内容(包括文字内容、图片内容、html内容、附件)等.
参考代码:
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.header import Header # 1. 连接邮箱服务器 con = smtplib.SMTP_SSL('smtp.163.com', 465) # 2. 登录邮箱 con.login('XXXX@163.com', 'XXXXX') # 2. 准备数据 # 创建邮件对象 msg = MIMEMultipart() # 设置邮件主题 subject = Header('找回密码', 'utf-8').encode() msg['Subject'] = subject # 设置邮件发送者 msg['From'] = 'XXXX@163.com <XXXX@163.com>' # 设置邮件接受者 msg['To'] = '726550822@qq.com' # 添加文字内容 text = MIMEText('忘记密码需要找回密码', 'plain', 'utf-8') msg.attach(text) # 3.发送邮件 con.sendmail('xxxx@163.com', '726550822@qq.com', msg.as_string()) con.quit()
实验结果