准备工作
1、安装smtplib和email库:这两个库是Python中用于发送邮件的常用库,可以使用pip进行安装。
2、获取SMTP服务器信息:需要知道SMTP服务器的地址、端口号、用户名和密码等信息。
3、编写邮件内容:包括发件人、收件人、主题、正文等。
发送单封邮件
1、导入所需库:import smtplib, email.mime.multipart, email.mime.text
2、设置SMTP服务器信息:smtp_server = 'smtp.example.com',smtp_port = 587,smtp_user = 'your_username',smtp_password = 'your_password'
3、创建邮件对象:msg = email.mime.multipart.MIMEMultipart()
4、设置邮件内容:msg['From'] = 'sender@example.com',msg['To'] = 'receiver@example.com',msg['Subject'] = 'Hello',msg.attach(email.mime.text.MIMEText('Hello world!', 'plain'))
5、连接SMTP服务器并发送邮件:with smtplib.SMTP(smtp_server, smtp_port) as server:
server.starttls()
server.login(smtp_user, smtp_password)
server.sendmail(msg['From'], msg['To'], msg.as_string())
发送多人邮件
1、将收件人列表转换为逗号分隔的字符串:to_list = ['receiver1@example.com', 'receiver2@example.com'],to_str = ','.join(to_list)
2、修改邮件对象的收件人字段:msg['To'] = to_str
3、重复步骤25,为每个收件人发送一封邮件。
发送带附件的邮件
1、添加附件:with open('attachment.txt', 'rb') as f:
attachment = email.mime.application.MIMEApplication(f.read(), _subtype='txt')
attachment.add_header('ContentDisposition', 'attachment', filename='attachment.txt')
msg.attach(attachment)
2、修改邮件对象的Subject字段:msg['Subject'] = 'Attachment example'
3、重复步骤25,为每个收件人发送一封带附件的邮件。
问题与解答
1、Q: 如果我想使用不同的SMTP服务器发送邮件,怎么办?
A: 只需要修改SMTP服务器信息即可,例如将smtp_server改为其他SMTP服务器的地址。
2、Q: 如果我想在邮件中添加多个附件,怎么办?
A: 可以使用for循环遍历附件列表,为每个附件创建一个MIMEApplication对象,并将其添加到邮件对象中。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/432631.html