Python 电子邮件
电子邮件是一项允许我们通过互联网以电子方式发送消息的服务。它提供了一种在人们之间分发信息的高效、廉价和实时的手段。
电子邮件地址
每个电子邮件用户都为其电子邮件帐户分配了一个唯一的名称。此名称称为电子邮件地址。不同的用户可以根据电子邮件地址发送和接收消息。
电子邮件通常采用用户名@域名的形式。例如,webmaster@newbiego.com 是一个电子邮件地址,其中 webmaster 是用户名,newbiego.com 是域名。
-
用户名和域名由 @ (at) symbol.
-
电子邮件地址不区分大小写。
-
电子邮件地址中不允许有空格。
电子邮件的前五行称为电子邮件标题。标头部分包括以下字段:
-
From
-
Date
-
To
-
Subject
-
CC
-
BCC
From
The From 字段表示发件人的地址,即谁发送了电子邮件。
Date
The Date 字段指示发送电子邮件的日期。
To
The To 字段表示收件人的地址,即电子邮件的发送对象。
Subject
The Subject 字段表示电子邮件的目的。它应该是准确和重点。
CC
CC 代表碳副本。它包括我们希望随时了解但不完全是预期收件人的那些收件人地址。
BCC
BCC 代表黑碳副本。当我们不希望一个或多个收件人知道在邮件中复制了其他人时,使用它。
Greeting
问候是实际信息的开始。例如。嗨先生或嗨伙计们等。
Text
它代表消息的实际内容。
签名
这是电子邮件的最后一部分。它包括发件人姓名、地址和联系电话。
Python 有 EmailMessage 类,可用于构建电子邮件消息。 此类是自定义电子邮件消息不同部分所需的方法,例如 TO 和 FROM 标记、主题行以及电子邮件的内容。
例子
在下面的示例中,我们创建了一封包含电子邮件所有必要部分的电子邮件。一旦我们打印出消息的内容,我们就可以看到完整的电子邮件。
import email.message, email.policy, email.utils, sys text = """Welcome to NewbieGo - 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: LearnSubject: A mail To you Date: Wed, 13 Jun 2018 06:51:09 -0700 Message-ID: <152889786976.4106.5718297150260802709@ubuntu> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 Welcome to NewbieGo - Simple Easy Learning