下面是完整的Python3利用SMTP协议发送E-mail电子邮件的方法攻略。
SMTP协议简介
SMTP(Simple Mail Transfer Protocol)是一种用于发送电子邮件的标准协议。SMTP协议是基于文本的,它定义了一系列规则,用于服务器之间的邮件传输。
发送E-mail的Python库
Python提供了smtplib库来发送E-mail,smtplib是Python的SMTP客户端实现,它支持通过SMTP服务器连接到远程邮件服务器,发送邮件以及附件。
实现Python发送E-mail的步骤
- 导入smtplib库
import smtplib
- 创建SMTP对象
smtpObj = smtplib.SMTP('smtp服务器地址', smtp端口)
注:smtp服务器地址和端口号需要根据你的邮件服务商来确定。
- 启用调试模式(可选)
smtpObj.set_debuglevel(1) # 调试信息会输出到控制台
- 登录SMTP服务器
smtpObj.login('发送邮件的邮箱', '邮箱密码')
- 设定邮件内容
from email.mime.text import MIMEText
msg = MIMEText('邮件内容', 'plain', 'utf-8')
msg['Subject'] = '邮件主题'
msg['From'] = '发件人邮箱'
msg['To'] = '收件人邮箱'
- 发送邮件
smtpObj.sendmail('发件人邮箱', ['收件人邮箱'], msg.as_string())
- 关闭SMTP连接
smtpObj.quit()
Python3发送E-mail的示例
这里提供一个简单的示例,演示如何使用Python3发送E-mail:
import smtplib
from email.mime.text import MIMEText
# 配置邮件内容
msg = MIMEText('这是一封测试邮件', 'plain', 'utf-8')
msg['Subject'] = '测试邮件'
msg['From'] = '发送人邮箱'
msg['To'] = '接收人邮箱'
# 发送邮件
smtpObj = smtplib.SMTP('smtp.163.com', 25)
smtpObj.login('发送人邮箱', '邮箱密码')
smtpObj.sendmail('发送人邮箱', ['接收人邮箱'], msg.as_string())
smtpObj.quit()
另外,如果需要在邮件中添加附件,还需要添加相应的处理步骤。下面提供一个发送带附件的E-mail的示例:
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
# 配置邮件内容
image_path = 'test.png'
msg = MIMEMultipart()
msg['Subject'] = '测试邮件'
msg['From'] = '发送人邮箱'
msg['To'] = '接收人邮箱'
# 添加邮件正文
text = MIMEText('这是一封测试邮件(带附件)', 'plain', 'utf-8')
msg.attach(text)
# 添加邮件附件
with open(image_path, 'rb') as f:
image_data = f.read()
image = MIMEImage(image_data)
image.add_header('Content-Disposition', 'attachment', filename='test.png')
msg.attach(image)
# 发送邮件
smtpObj = smtplib.SMTP('smtp.163.com', 25)
smtpObj.login('发送人邮箱', '邮箱密码')
smtpObj.sendmail('发送人邮箱', ['接收人邮箱'], msg.as_string())
smtpObj.quit()
以上就是Python3利用SMTP协议发送E-mail电子邮件的方法的攻略,希望可以对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python3利用SMTP协议发送E-mail电子邮件的方法 - Python技术站