Python - 电子邮件消息

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

电子邮件地址

每个电子邮件用户都为其电子邮件帐户分配了一个唯一的名称。 此名称称为电子邮件地址。 不同的用户可以根据电子邮件地址发送和接收消息。

电子邮件通常采用用户名@域名的形式。 例如,webmaster@tutorialspoint.com 是一个电子邮件地址,其中 webmaster 是用户名,tutorialspoint.com 是域名。

  • 用户名和域名之间用@(at)符号分隔。

  • 电子邮件地址不区分大小写。

  • 电子邮件地址中不允许有空格。

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

  • From

  • Date

  • To

  • Subject

  • CC

  • BCC

From

From 字段表示发件人的地址,即谁发送了电子邮件。

Date

Date 字段表示电子邮件发送的日期。

To

To 字段表示收件人的地址,即电子邮件发送给谁。

Subject

Subject 字段表示电子邮件的目的。 它应该准确而切题。

CC

CC 代表抄送。 它包括那些我们希望随时通知但不完全是预期收件人的收件人地址。

BCC

BCC 代表黑抄送。 当我们不希望一个或多个收件人知道邮件中有人被复制时使用它。

Greeting(问候语)

问候语是实际消息的开头。 例如。 嗨先生或嗨伙计们等等。

Text(正文)

代表消息的实际内容。

Signature(签名)

这是电子邮件的最后一部分。 它包括发件人姓名、地址和联系电话。

Python 有 EmailMessage 类,可用于构建电子邮件消息。 此类包含自定义电子邮件消息的不同部分所需的方法,例如 - TO 和 FROM 标签、主题行以及电子邮件的内容。


例子

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

import email.message, email.policy, email.utils, sys
text = """Welcome to TutorialsPoint - 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: <152889786976.4106.5718297150260802709@ubuntu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0

Welcome to TutorialsPoint - Simple Easy Learning