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

在Python中发送单个MIMEText邮件

发布时间:2023-12-23 09:54:38

在Python中发送单个MIMEText邮件的过程包含以下几个步骤:

1. 导入所需的模块:

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

这里我们导入了smtplib模块用于发送邮件,MIMEText模块用于创建邮件内容,Header模块用于设置邮件头部。

2. 创建MIMEText对象:

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

这里我们创建了一个MIMEText对象, 个参数是邮件正文内容,第二个参数是邮件内容的类型,这里使用'plain'表示纯文本,第三个参数是字符编码。

3. 设置邮件主题和发件人收件人信息:

   message['Subject'] = Header('这是邮件主题', 'utf-8')
   message['From'] = 'sender@example.com'
   message['To'] = 'recipient@example.com'
   

这里设置了邮件的主题、发件人和收件人信息,需要使用Header对象并指定字符编码。

4. 发送邮件:

   try:
       smtpObj = smtplib.SMTP('localhost')
       smtpObj.sendmail('sender@example.com', ['recipient@example.com'], message.as_string())
       print("邮件发送成功")
   except smtplib.SMTPException:
       print("邮件发送失败")
   

这里使用smtplib模块的SMTP对象创建SMTP连接,然后调用sendmail方法发送邮件。 个参数是发件人邮箱地址,第二个参数是收件人邮箱地址,第三个参数是邮件内容。如果发送成功,打印"邮件发送成功";如果发送失败,打印"邮件发送失败"。

下面是一个完整的示例代码,展示如何发送带有主题和正文的单个MIMEText邮件:

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

message = MIMEText('这是邮件内容', 'plain', 'utf-8')
message['Subject'] = Header('这是邮件主题', 'utf-8')
message['From'] = 'sender@example.com'
message['To'] = 'recipient@example.com'

try:
    smtpObj = smtplib.SMTP('localhost')
    smtpObj.sendmail('sender@example.com', ['recipient@example.com'], message.as_string())
    print("邮件发送成功")
except smtplib.SMTPException:
    print("邮件发送失败")

请注意,实际使用时需要替换为合适的发件人和收件人邮箱地址,并确保本地的SMTP服务器正常运行。