Python - 电子邮件



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

电子邮件地址

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

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

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

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

  • 电子邮件地址不允许使用空格。

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

  • 发件人

  • 日期

  • 收件人

  • 主题

  • 抄送

  • 密送

发件人

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

日期

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

收件人

收件人字段指示收件人的地址,即发送电子邮件的对象。

主题

主题字段指示电子邮件的目的。它应该简洁明了。

抄送

抄送 (CC) 表示抄送。它包含那些我们希望告知但并非真正目标收件人的收件人地址。

密送

密送 (BCC) 表示密件抄送。当我们不想让一个或多个收件人知道其他人也收到了邮件副本时使用。

问候语

问候语是邮件正文的开头。例如:您好 或 各位 等。

正文

它代表邮件的实际内容。

签名

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

Python 有 EmailMessage 类,可用于构建电子邮件。此类具有自定义电子邮件不同部分所需的方法,例如收件人和发件人标签、主题行以及电子邮件内容。

示例

在下面的示例中,我们创建了一个包含电子邮件所有必要部分的电子邮件。打印邮件内容后,我们可以看到完整的电子邮件。

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

message = email.message.EmailMessage(email.policy.SMTP)
message['To'] = '[email protected]'
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: [email protected]
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
广告