您的位置:

用Python编写简单的电子邮件发送程序

一、Python邮件发送原理

Python中发送邮件是利用SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)协议来实现的。SMTP协议属于TCP/IP协议簇,是用于发送和传输邮件的协议。

发送邮件需要先连接SMTP服务器,由于一封邮件分为正文和附件两部分,所以需要对正文和附件进行编码,确保能够安全地发送到对方的邮箱。

Python中,使用smtplib和email两个库来实现邮件发送。

二、Python发送邮件基本步骤

1、导入必要的库

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication

2、构建邮件消息

msg = MIMEMultipart()
msg['From'] = '发件人邮箱'
msg['To'] = '收件人邮箱'
msg['Subject'] = '邮件主题'

#添加正文
text = MIMEText('邮件正文')
msg.attach(text)

#添加附件
with open('附件路径', 'rb') as f:
    part = MIMEApplication(f.read())
    part.add_header('Content-Disposition', 'attachment', filename='附件名')
    msg.attach(part)

3、连接服务器并发送邮件

server = smtplib.SMTP('smtp服务器地址', '端口号')
server.login('发件人邮箱', '邮箱密码')
server.sendmail('发件人邮箱', '收件人邮箱', msg.as_string())
server.quit()

三、完整邮件发送代码示例

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication

msg = MIMEMultipart()
msg['From'] = '发件人邮箱'
msg['To'] = '收件人邮箱'
msg['Subject'] = '邮件主题'

#添加正文
text = MIMEText('邮件正文')
msg.attach(text)

#添加附件
with open('附件路径', 'rb') as f:
    part = MIMEApplication(f.read())
    part.add_header('Content-Disposition', 'attachment', filename='附件名')
    msg.attach(part)

#连接服务器并发送邮件
server = smtplib.SMTP('smtp服务器地址', '端口号')
server.login('发件人邮箱', '邮箱密码')
server.sendmail('发件人邮箱', '收件人邮箱', msg.as_string())
server.quit()

四、注意点

1、附件的路径需要正确,否则会发送失败。

2、某些邮箱会有验证码或者需要开启smtp服务器,需要在邮箱设置中进行操作。

3、发送者和接收者的邮箱地址和SMTP服务器需要正确填写,否则会出现各种异常。

4、邮箱密码需要正确,否则会登录失败。

五、总结

Python发送邮件是一项非常重要的功能,可以应用于各种场景,例如邮件提醒,定期发送报告等。本文从Python邮件发送原理、Python发送邮件基本步骤以及注意点三个方面,详细介绍了Python邮件发送的相关知识点,并给出了Python邮件发送的完整代码示例。希望读者能够通过学习本文,快速掌握Python发送邮件的技巧。