Python电子邮件

原文:https://www.yiibai.com/python_network_programming/python_email_messages.html

电子邮件是一项服务,它使我们可以通过互联网以电子方式发送消息。它提供了一种在人们之间分发信息的高效,廉价且实时的方式。

电子邮件地址

每个电子邮件用户都为其电子邮件帐户分配了唯一的名称。此名称称为电子邮件地址。不同的用户可以根据电子邮件地址发送和接收消息。
电子邮件通常采用username@domainname的形式。例如,webmaster@yiibai.com是一个电子邮件地址,其中webmaster是用户名,而yiibai.com是域名。

电子邮件的前五行称为电子邮件标题。标头部分包含以下字段:

Python具有EmailMessage类,可用于构建电子邮件。此类是自定义电子邮件消息不同部分(如TO和FROM标记,主题行以及电子邮件内容)所需的方法。

 示例

在下面的示例中,我们将创建一封电子邮件,其中包含电子邮件的所有必要部分。当打印出消息的内容,我们就可以看到完整的电子邮件。

import email.message, email.policy, email.utils, sys
text = """Welcome to Yiibai - Simple Easy Learning"""

message = email.message.EmailMessage(email.policy.SMTP)
message['To'] = 'you@yourdomain.com'
message['From'] = 'Learn '
message['Subject'] = 'A mail To you'
message['Date'] = email.utils.formatdate(localtime=True)
message['Message-ID'] = email.utils.make_msgid()
message.set_content(text)
sys.stdout.buffer.write(message.as_bytes())

执行上面示例代码,得到以下结果:

To: you@yourdomain.com
From: Learn 
Subject: A mail To you
Date: Wed, 13 Jun 2018 06:51:09 -0700
Message-ID: <152xxxx976.4xx6.5xxx5026x0802709@ubuntu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0

Welcome to Yiibai - Simple Easy Learning