Python 邮件自动化指南

学习如何安装必要的库并设置Python以实现邮件自动化。了解如何使用smtplib向单个收件人发送邮件,包括认证和会话管理。探索使用Python和smtplib向多个收件人发送邮件的方法。探索邮件内容和格式的定制选项,并学习如何处理邮件发送中的异常和错误。

为什么使用Python发送邮件?

Python简单且易于阅读,使其成为包括发送邮件在内的自动化任务的理想选择。当需要发送定期更新、通知或营销邮件时,Python可以使这个过程节省时间。使用Python发送邮件时,将使用SMTP,即简单邮件传输协议。这个协议用于通过互联网发送邮件。这个库“smtplib”创建了一个客户端会话对象,可以用来发送到任何有效的电子邮件ID。SMTP服务器在端口25上运行,但为了安全传输,使用端口587。

发送给单个收件人的邮件

使用Python向单个收件人的账户发送邮件。可以使用Python的smtplib包通过SMTP发送邮件。这种方法非常适合自动化发送警报、通知或定制消息。要向单个收件人发送邮件、进行认证和设置SMTP会话,请参见以下代码片段。

import smtplib server = smtplib.SMTP('smtp.gmail.com', 587) server.starttls() server.login('sender_email_id', 'sender_email_password') message = "Message to be sent" server.sendmail('sender_email_id', 'receiver_email', message) server.quit()

发送给多个收件人的邮件

import smtplib list_of_email = ['email1@example.com', 'email2@example.com'] for i in list_of_email: server = smtplib.SMTP('smtp.gmail.com', 587) server.starttls() server.login('sender_email_id', 'sender_email_password') message = "Message to be sent" server.sendmail('sender_email_id', i, message) server.quit()

从Gmail账户发送带附件的邮件

import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email import encoders from_email_add = "Email ID of sender" to_email_add = "Email ID of receiver" msg = MIMEMultipart() msg['from'] = from_email_add msg['to'] = to_email_add msg['subject'] = "Subject of the mail" body = "Body of the mail" msg.attach(MIMEText(body, 'plain')) filename = "file_with_the_extension" attachment = open("Path of the file", "rb") q = MIMEBase('application', 'octet-stream') q.set_payload((attachment).read()) encoders.encode_base64(q) q.add_header('Content-Disposition', 'attachment; filename=%s' % filename) msg.attach(q) server = smtplib.SMTP('smtp.gmail.com', 587) server.starttls() server.login(from_email_add, "Password of the sender") text = msg.as_string() server.sendmail(from_email_add, to_email_add, text) server.quit()
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485