在Python中,可以使用smtplib
和email
模块来发送邮件。smtplib
模块提供了SMTP协议的客户端实现,email
模块提供了邮件的构建和解析功能。以下是详细的攻略,介绍如何使用Python发送邮件:
发送纯文本邮件
可以使用email
和smtplib
模块发送纯文本邮件。以下是一个示例,演示如何使用Python发送纯文本邮件:
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 邮件发送者和接收者
sender = 'sender@example.com'
receivers = ['receiver@example.com']
# 邮件内容
message = MIMEText('这是一封纯文本邮件', 'plain', 'utf-8')
message['From'] = Header('发件人姓名', 'utf-8')
message['To'] = Header('收件人姓名', 'utf-8')
message['Subject'] = Header('邮件主题', 'utf-8')
# SMTP服务器
smtp_server = 'smtp.example.com'
# 发送邮件
try:
smtp_obj = smtplib.SMTP(smtp_server)
smtp_obj.sendmail(sender, receivers, message.as_string())
print('邮件发送成功')
except smtplib.SMTPException as e:
print('邮件发送失败:', e)
在上面的示例中,首先定义了邮件发送者和接收者的地址。然后,使用email.mime.text.MIMEText()
方法创建一个纯文本邮件。使用email.header.Header()
方法设置邮件的发件人、收件人和主题。使用smtplib.SMTP()
方法连接SMTP服务器。使用smtplib.SMTP.sendmail()
方法发送邮件。最后,使用print()
方法输出邮件发送结果。
发送带附件的邮件
可以使用email
和smtplib
模块发送带附件的邮件。以下是一个示例,演示如何使用Python发送带附件的邮件:
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
from email.header import Header
# 邮件发送者和接收者
sender = 'sender@example.com'
receivers = ['receiver@example.com']
# 邮件内容
message = MIMEMultipart()
message['From'] = Header('发件人姓名', 'utf-8')
message['To'] = Header('收件人姓名', 'utf-8')
message['Subject'] = Header('邮件主题', 'utf-8')
# 添加文本内容
text = MIMEText('这是一封带附件的邮件', 'plain', 'utf-8')
message.attach(text)
# 添加附件
with open('example.txt', 'rb') as f:
attachment = MIMEApplication(f.read())
attachment.add_header('Content-Disposition', 'attachment', filename='example.txt')
message.attach(attachment)
# SMTP服务器
smtp_server = 'smtp.example.com'
# 发送邮件
try:
smtp_obj = smtplib.SMTP(smtp_server)
smtp_obj.sendmail(sender, receivers, message.as_string())
print('邮件发送成功')
except smtplib.SMTPException as e:
print('邮件发送失败:', e)
在上面的示例中,首先定义了邮件发送者和接收者的地址。然后,使用email.mime.multipart.MIMEMultipart()
方法创建一个带附件的邮件。使用email.mime.text.MIMEText()
方法设置邮件的文本内容。使用email.mime.application.MIMEApplication()
方法添加附件。使用smtplib.SMTP()
方法连接SMTP服务器。使用smtplib.SMTP.sendmail()
方法发送邮件。最后,使用print()
方法输出邮件发送结果。
希望这些示例能帮您了解Python发送邮件的基础知识。在实际应用中,应根据需要使用email
和smtplib
模块的方法,并注意它们的参数设置和返回值。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python发送邮件实现基础解析 - Python技术站