以下是使用 Python 第三方库发送电子邮件的示例代码攻略:
1. 准备工作
要使用 Python 第三方库发送电子邮件,必须先安装 smtplib、email 两个库。可以使用命令行或者 pip 安装:
pip install smtplib email
2. 示例一:发送简单邮件
import smtplib
from email.mime.text import MIMEText
# 发件人邮箱昵称和账号
sender_name = '发件人昵称'
sender_account = '发件人账号'
# 发件人邮箱地址和密码(注意,这里的密码是指“授权码”,不是邮箱登录密码)
sender_email = '发件人邮箱地址'
sender_password = '发件人邮箱授权码,不是登录密码'
# 收件人邮箱地址
receiver_email = '收件人邮箱地址'
# 邮件正文
mail_body = '这是一封测试邮件,无需回复。'
# 邮件对象(MIMEText 类型,包含邮件正文)
message = MIMEText(mail_body, 'plain', 'utf-8')
message['From'] = sender_name + '<' + sender_email + '>'
message['Subject'] = 'Python 发送邮件测试'
message['To'] = receiver_email
# 发送邮件
try:
smtp = smtplib.SMTP_SSL('smtp.qq.com', 465) # QQ 邮箱 SMTP 服务器地址和端口号
smtp.login(sender_account, sender_password)
smtp.sendmail(sender_email, receiver_email, message.as_string())
print('邮件发送成功!')
except Exception as e:
print('邮件发送失败:', e)
finally:
smtp.quit()
以上代码中使用了 smtplib
和 email.mime.text
两个 Python 第三方库。该程序可以实现发送一封简单的文本邮件。其中,需要修改的部分是:发件人邮箱昵称和账号、发件人邮箱地址和密码、收件人邮箱地址、邮件正文和邮件主题。要注意的是,发件人的邮箱账号和密码需要通过邮箱设置页面获取。
3. 示例二:发送带有附件的邮件
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
import os
# 发件人邮箱昵称和账号
sender_name = '发件人昵称'
sender_account = '发件人账号'
# 发件人邮箱地址和密码
sender_email = '发件人邮箱地址'
sender_password = '发件人邮箱授权码,不是登录密码'
# 收件人邮箱地址
receiver_email = '收件人邮箱地址'
# 邮件正文
mail_body = '这封邮件附带了一个测试文本文件和一个测试图片,请注意查收。'
# 创建邮件对象
message = MIMEMultipart()
message['From'] = sender_name + '<' + sender_email + '>'
message['Subject'] = 'Python 发送邮件测试(含附件)'
message['To'] = receiver_email
# 添加邮件正文
text = MIMEText(mail_body, 'plain', 'utf-8')
message.attach(text)
# 添加附件:测试文本文件
filename = 'test.txt'
attachment = MIMEApplication(open(filename, 'rb').read())
attachment.add_header('Content-Disposition', 'attachment', filename=filename)
message.attach(attachment)
# 添加附件:测试图片
filename = 'test.png'
attachment = MIMEApplication(open(filename, 'rb').read())
attachment.add_header('Content-Disposition', 'attachment', filename=filename)
message.attach(attachment)
# 发送邮件
try:
smtp = smtplib.SMTP_SSL('smtp.qq.com', 465) # QQ 邮箱 SMTP 服务器地址和端口号
smtp.login(sender_account, sender_password)
smtp.sendmail(sender_email, receiver_email, message.as_string())
print('邮件发送成功!')
except Exception as e:
print('邮件发送失败:', e)
finally:
smtp.quit()
以上代码实现了发送一封带有附件的邮件(包括测试文本文件和测试图片)。该程序的关键是使用了 email.mime.multipart
和 email.mime.application
两个类,并通过 message.attach()
方法将附件添加到邮件中。需要修改的部分是同样是发件人和收件人信息以及邮件正文和主题,同时也需要将测试附件文件添加到代码所在的目录中。
以上就是 Python 第三方库发送电子邮件的示例代码攻略,希望对你有帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Python第三方库发送电子邮件的示例代码 - Python技术站