在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服务器正常运行。
