您的位置:

使用Python编写自动发送电子邮件的程序

一、Python库的安装与导入

在Python中,我们可以使用smtplib库实现自动发送邮件,smtplib库是Python自带的库,可以直接导入使用。同时,还需要使用email库来构建邮件信息。

import smtplib
from email.mime.text import MIMEText
from email.header import Header

二、邮箱账号和密码的设置

在使用Python发送邮件前,需要设置发件人的邮箱账号和密码。同时,还需要指定SMTP服务器地址和端口号。

# 发件人的邮箱账号和密码
from_addr = '发件人邮箱地址'
password = '邮箱密码'

# SMTP服务器地址和端口号
smtp_server = '邮件服务商的SMTP服务器地址'
smtp_port = 'SMTP端口号'

三、邮件内容的构建和发送

构建邮件内容的主要步骤如下:

  1. 创建MIMEText对象,指定邮件正文内容和邮件发送的格式(纯文本或HTML)。例如,可以构建一封文本邮件:
# 创建纯文本邮件
msg = MIMEText('邮件正文内容', 'plain', 'utf-8') 
  1. 设置邮件的主题、发件人和收件人等信息。例如,设置邮件的主题为“Python自动发送邮件”:
# 设置邮件头部信息
msg['Subject'] = Header('Python自动发送邮件', 'utf-8')
msg['From'] = Header(from_addr)
msg['To'] = Header(to_addr)
  1. 连接SMTP服务器,登录邮箱账号,发送邮件。
# 连接SMTP服务器,登录邮箱
server = smtplib.SMTP(smtp_server, smtp_port)
server.login(from_addr, password)

# 发送邮件
server.sendmail(from_addr, [to_addr], msg.as_string())

# 关闭连接
server.quit()

四、完整代码示例

import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 发件人的邮箱账号和密码
from_addr = '发件人邮箱地址'
password = '邮箱密码'

# SMTP服务器地址和端口号
smtp_server = '邮件服务商的SMTP服务器地址'
smtp_port = 'SMTP端口号'

# 收件人的邮箱地址
to_addr = '收件人邮箱地址'

# 创建纯文本邮件
msg = MIMEText('邮件正文内容', 'plain', 'utf-8')

# 设置邮件头部信息
msg['Subject'] = Header('Python自动发送邮件', 'utf-8')
msg['From'] = Header(from_addr)
msg['To'] = Header(to_addr)

# 连接SMTP服务器,登录邮箱
server = smtplib.SMTP(smtp_server, smtp_port)
server.login(from_addr, password)

# 发送邮件
server.sendmail(from_addr, [to_addr], msg.as_string())

# 关闭连接
server.quit()

五、总结

使用Python编写自动发送邮件的程序,只需要借助smtplib和email两个库即可。我们需要设置发件人的邮箱账号和密码,同时还需要设置SMTP服务器地址和端口号。然后,通过构建邮件内容,指定收件人的邮箱地址,即可实现自动发送邮件功能。