欢迎访问宙启技术站
智能推送

编写Python程序发送带有MIMEText的电子邮件

发布时间:2023-12-23 09:51:57

发送带有MIMEText的电子邮件涉及以下步骤:

1. 导入必要的模块:

import smtplib
from email.mime.text import MIMEText

2. 创建MIMEText对象:

msg = MIMEText('这是邮件的内容', 'plain', 'utf-8')

参数说明:

- 个参数是邮件正文内容。

- 第二个参数是指定邮件内容格式,这里使用的是普通文本格式(plain)。

- 第三个参数是指定编码格式。

3. 设置邮件头部信息:

msg['Subject'] = '邮件的主题'
msg['From'] = '发件人的邮箱地址'
msg['To'] = '收件人的邮箱地址'

4. 发送邮件:

# 连接SMTP服务器,这里使用的是Gmail的SMTP服务器
smtp_server = 'smtp.gmail.com'
smtp_port = 587
smtp_user = '发件人的邮箱地址'
smtp_password = '发件人的邮箱密码'

with smtplib.SMTP(smtp_server, smtp_port) as server:
    server.starttls()
    server.login(smtp_user, smtp_password)
    server.sendmail(smtp_user, [msg['To']], msg.as_string())

参数说明:

- 个参数是SMTP服务器地址。

- 第二个参数是SMTP服务器端口。

- 第三个参数是发件人的邮箱地址。

- 第四个参数是发件人的邮箱密码。

- starttls()方法用来请求安全传输层连接。

- login()方法用来登录SMTP服务器。

- sendmail()方法用来发送邮件。

下面是一个完整的示例程序:

import smtplib
from email.mime.text import MIMEText

def send_email():
    msg = MIMEText('这是邮件的内容', 'plain', 'utf-8')
    msg['Subject'] = '邮件的主题'
    msg['From'] = '发件人的邮箱地址'
    msg['To'] = '收件人的邮箱地址'

    smtp_server = 'smtp.gmail.com'
    smtp_port = 587
    smtp_user = '发件人的邮箱地址'
    smtp_password = '发件人的邮箱密码'

    with smtplib.SMTP(smtp_server, smtp_port) as server:
        server.starttls()
        server.login(smtp_user, smtp_password)
        server.sendmail(smtp_user, [msg['To']], msg.as_string())

if __name__ == '__main__':
    send_email()

这个程序会发送一封邮件给指定的收件人,邮件内容为"这是邮件的内容",主题为"邮件的主题"。请注意替换代码中的发件人邮箱地址和密码,以及收件人的邮箱地址。

希望这个例子对你有帮助!