Python 电子邮件

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

电子邮件地址

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

  • 用户名和域名之间用@符号分隔。
  • 电子邮件地址不区分大小写。
  • 电子邮件地址中不允许有空格。

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

  • From - 此字段表示发件人的地址,即发送电子邮件的人。
  • Date - 此字段指示发送电子邮件的日期。
  • To - 此字段指示收件人的地址,即电子邮件发送给的收件人。
  • Subject - 此字段指示电子邮件的用途。它应该是准确的,并指向重点。
  • CC - CC代表复本。它包括要及时通知的收件人地址,但不完全是预期的收件人。
  • BCC - 当不希望一个或多个收件人知道在邮件上复制了其他人时使用它。
  • Greeting - 问候语是实际信息的开头。例如。嗨,先生或嗨,大家好!
  • Text - 它代表消息的实际内容。
  • Signature - 这是电子邮件的最后一部分。它包括发件人姓名,地址和联系电话。

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

示例

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

 
# Filename : example.py# Copyright : 2020 By Aizws# Author by : www.aizws.net# Date : 2020-08-25import email.message, email.policy, email.utils, sys text = """Welcome to Aizws - 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())  
 

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

 
# Filename : example.py# Copyright : 2020 By Aizws# Author by : www.aizws.net# Date : 2020-08-25To: 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 Aizws - Simple Easy Learning  
 

下一章:Python SMTP

简单邮件传输协议(SMTP)是一种协议,用于处理在电子邮件服务器之间发送电子邮件和路由电子邮件。Python提供了smtplib模块,该模块定义了一个SMTP客户端会话对象,该对象可用于将邮件发送到具有SMTP或ES ...