python smtplib发送多个email联系人的实现

Python smtplib发送多个email联系人的实现

在日常工作中,我们常常需要使用电子邮件与多个联系人进行沟通。使用Python的smtplib库可以方便地实现这个功能。本文将详细介绍如何使用smtplib发送多个email联系人。

1. 引入必要的库

首先,我们需要引入smtplib库来发送电子邮件。同时,我们还需要从email.mime.text中引入MIMEText类,用于创建邮件正文。

import smtplib

from email.mime.text import MIMEText

2. 设置邮件内容

在发送邮件之前,我们需要设置邮件的内容,包括发件人、收件人、主题和正文。以下是一个示例:

# 发件人

sender = 'sender@example.com'

# 收件人

receivers = ['receiver1@example.com', 'receiver2@example.com']

# 主题

subject = 'Hello from Python smtplib!'

# 正文

text = 'This is the body of the email.'

需要注意的是,收件人是一个列表,可以包含多个邮箱地址。

3. 创建邮件对象

接下来,我们需要使用MIMEText()函数创建一个邮件对象,指定邮件正文的内容和内容类型。

# 创建邮件对象

message = MIMEText(text, 'plain')

4. 设置邮件头部信息

添加邮件头部信息,包括发件人、收件人和主题。并且,我们可以使用message对象的['From'], ['To']和['Subject']属性来设置这些信息。

# 设置发件人

message['From'] = sender

# 设置收件人

message['To'] = ','.join(receivers)

# 设置主题

message['Subject'] = subject

5. 连接到SMTP服务器

接下来,我们需要连接到SMTP服务器,这样才能发送邮件。首先,我们需要通过smtplib库的SMTP()函数建立一个SMTP对象,并且指定SMTP服务器的地址和端口。

# SMTP服务器地址

smtp_server = 'smtp.example.com'

# SMTP服务器端口

smtp_port = 587

# 建立SMTP对象

smtp_obj = smtplib.SMTP(smtp_server, smtp_port)

6. 登录SMTP服务器

在连接SMTP服务器之后,我们需要登录到SMTP服务器,这样才能发送邮件。我们可以使用SMTP对象的login()方法来进行登录。

# 发件人邮箱账号

username = 'sender@example.com'

# 发件人邮箱密码

password = 'password123'

# 登录SMTP服务器

smtp_obj.login(username, password)

需要注意的是,有些SMTP服务器可能需要开启“低安全性应用程序访问权限”,请确保已经打开该权限。

7. 发送邮件

最后,我们可以使用SMTP对象的sendmail()方法发送邮件。sendmail()方法接受三个参数:发件人、收件人列表和邮件内容。

# 发送邮件

smtp_obj.sendmail(sender, receivers, message.as_string())

至此,我们已经成功地发送了一封邮件给多个联系人。

8. 关闭连接

发送完邮件后,我们可以通过调用SMTP对象的quit()方法来关闭与SMTP服务器的连接。

# 关闭连接

smtp_obj.quit()

总结

使用Python的smtplib库可以方便地发送多个email联系人。通过以下几个步骤完成:

引入必要的库:smtplib和email.mime.text

设置邮件内容:包括发件人、收件人、主题和正文

创建邮件对象:使用MIMEText()函数创建邮件对象

设置邮件头部信息:使用message对象的属性设置邮件头部信息

连接到SMTP服务器:使用SMTP()函数建立SMTP对象

登录SMTP服务器:使用login()方法登录SMTP服务器

发送邮件:使用sendmail()方法发送邮件

关闭连接:调用quit()方法关闭连接

使用以上方法,我们可以轻松地发送多个email联系人。

希望本文对您学习Python smtplib发送多个email联系人的实现有所帮助!

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签