宣城做w网站的公司,ppt那个网站做的好,企业新闻营销,未来中森网站建设咨询大家好#xff0c;当我们需要迅速、方便地与他人沟通时#xff0c;电子邮件是无疑是一种不可或缺的通信工具。无论是在个人生活中还是工作场合#xff0c;电子邮件都是我们日常生活中的重要组成部分。它不仅能够传递文字信息#xff0c;还可以发送附件、链接和嵌入式多媒体… 大家好当我们需要迅速、方便地与他人沟通时电子邮件是无疑是一种不可或缺的通信工具。无论是在个人生活中还是工作场合电子邮件都是我们日常生活中的重要组成部分。它不仅能够传递文字信息还可以发送附件、链接和嵌入式多媒体内容从而满足了各种通信需求。 随着技术的不断发展许多任务和流程都变得自动化。在这种背景下使用Python编写脚本来发送电子邮件变得越来越普遍。Python提供了强大的库如smtplib和email使得发送邮件变得异常简单甚至可以集成到自动化任务或Web应用程序中。 本文的目标是为大家提供一个简单易懂的教程介绍如何使用Python发送电子邮件。将逐步引导了解如何准备工作、设置邮件内容、连接到SMTP服务器、发送邮件并处理可能出现的错误。通过本文读者将能够掌握发送电子邮件的基本技能并了解一些关于保护邮件发送安全性的最佳实践。无论是作为Python初学者还是有一定经验的开发者都能从本文中获得实用的知识以便更好地利用Python发送电子邮件。 一、发送纯文本邮件
以下是详细介绍如何使用Python发送纯文本邮件的步骤包括代码示例和对每一步的解释
1、导入必要的库 首先导入Python的smtplib和email库。smtplib库提供了与SMTP服务器通信的功能而email库用于构建邮件消息。
import smtplib
from email.mime.text import MIMEText2、设置发件人、收件人和邮件内容
创建一个MIMEText对象来表示邮件的文本内容并设置发件人、收件人和主题。
# 邮件内容
message MIMEText(这是一封纯文本邮件。)# 发件人
message[From] senderexample.com# 收件人
message[To] recipientexample.com# 主题
message[Subject] 纯文本邮件示例3、连接到SMTP服务器并发送邮件
使用smtplib库连接到SMTP服务器并使用登录凭据发送邮件。
# SMTP服务器地址和端口号
smtp_server smtp.example.com
smtp_port 587 # 假设使用的是TLS加密端口号为587# 发件人邮箱登录凭据
username senderexample.com
password your_password# 连接到SMTP服务器
server smtplib.SMTP(smtp_server, smtp_port)
server.starttls() # 开启TLS加密# 登录邮箱账号
server.login(username, password)# 发送邮件
server.sendmail(username, [recipientexample.com], message.as_string())# 关闭连接
server.quit()解释
在第2步中我们创建了一个MIMEText对象来表示纯文本邮件的内容。这个对象接受邮件的正文作为参数。我们设置了发件人、收件人和主题分别通过message的[From]、[To]和[Subject]属性实现。在第3步中我们连接到SMTP服务器并登录邮箱账号。我们使用starttls()方法开启TLS加密以确保邮件传输的安全性。最后我们使用sendmail()方法将邮件发送给收件人并通过quit()方法关闭与SMTP服务器的连接。
4、示例
下面是一个完整的示例代码演示如何使用Python发送纯文本邮件
import smtplib
from email.mime.text import MIMETextdef send_plain_text_email(sender_email, sender_password, recipient_email, subject, body):# 创建邮件内容message MIMEText(body)message[From] sender_emailmessage[To] recipient_emailmessage[Subject] subject# 设置SMTP服务器信息smtp_server smtp.example.comsmtp_port 587 # 假设使用的是TLS加密端口号为587try:# 连接到SMTP服务器server smtplib.SMTP(smtp_server, smtp_port)server.starttls() # 开启TLS加密# 登录邮箱账号server.login(sender_email, sender_password)# 发送邮件server.sendmail(sender_email, [recipient_email], message.as_string())print(邮件发送成功)except Exception as e:print(邮件发送失败:, e)finally:# 关闭连接server.quit()# 输入发件人邮箱地址、密码、收件人邮箱地址、主题和邮件内容
sender_email senderexample.com
sender_password your_password
recipient_email recipientexample.com
subject 纯文本邮件示例
body 这是一封纯文本邮件。# 发送邮件
send_plain_text_email(sender_email, sender_password, recipient_email, subject, body)在这个示例中需要替换以下变量的值
sender_email: 发件人的邮箱地址。sender_password: 发件人的邮箱密码。recipient_email: 收件人的邮箱地址。smtp_server: 发件人邮箱所属的SMTP服务器地址。smtp_port: SMTP服务器的端口号通常为587假设使用TLS加密。subject: 邮件的主题。body: 邮件的正文内容。 二、发送HTML邮件 发送HTML格式的邮件可以让邮件的内容更具有吸引力和可读性因为它允许使用各种格式的文本、图像、链接和样式。
以下是详细介绍如何使用Python发送带有HTML格式的邮件的步骤以及讨论HTML邮件的优点和用例
1、导入必要的库 首先导入Python的smtplib和email库。smtplib库提供了与SMTP服务器通信的功能而email库用于构建邮件消息。
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText2、设置发件人、收件人和邮件内容 创建一个MIMEMultipart对象来表示邮件消息的多部分内容其中一部分是HTML格式的文本。设置发件人、收件人和主题。
# 创建邮件消息对象
message MIMEMultipart()# 邮件正文HTML格式
html_body
html
head/head
body
h1这是一封HTML格式的邮件/h1
p这是一段b加粗/b的文本。/p
p这是一个a hrefhttps://www.example.com链接/a。/p
/body
/html
# 将HTML内容添加到邮件消息中
message.attach(MIMEText(html_body, html))# 发件人
message[From] senderexample.com# 收件人
message[To] recipientexample.com# 主题
message[Subject] HTML邮件示例3、连接到SMTP服务器并发送邮件
使用smtplib库连接到SMTP服务器并使用登录凭据发送邮件。
# SMTP服务器地址和端口号
smtp_server smtp.example.com
smtp_port 587 # 假设使用的是TLS加密端口号为587# 发件人邮箱登录凭据
username senderexample.com
password your_passwordtry:# 连接到SMTP服务器server smtplib.SMTP(smtp_server, smtp_port)server.starttls() # 开启TLS加密# 登录邮箱账号server.login(username, password)# 发送邮件server.sendmail(username, [recipientexample.com], message.as_string())print(邮件发送成功)
except Exception as e:print(邮件发送失败:, e)
finally:# 关闭连接server.quit()4、示例
下面是一个完整的示例代码演示如何使用Python发送带有HTML格式的邮件
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMETextdef send_html_email(sender_email, sender_password, recipient_email, subject, html_body):# 创建邮件消息对象message MIMEMultipart()# 邮件正文HTML格式message.attach(MIMEText(html_body, html))# 发件人message[From] sender_email# 收件人message[To] recipient_email# 主题message[Subject] subject# 设置SMTP服务器信息smtp_server smtp.example.comsmtp_port 587 # 假设使用的是TLS加密端口号为587try:# 连接到SMTP服务器server smtplib.SMTP(smtp_server, smtp_port)server.starttls() # 开启TLS加密# 登录邮箱账号server.login(sender_email, sender_password)# 发送邮件server.sendmail(sender_email, [recipient_email], message.as_string())print(邮件发送成功)except Exception as e:print(邮件发送失败:, e)finally:# 关闭连接server.quit()# 输入发件人邮箱地址、密码、收件人邮箱地址、主题和HTML邮件内容
sender_email senderexample.com
sender_password your_password
recipient_email recipientexample.com
subject HTML邮件示例
html_body
html
head/head
body
h1这是一封HTML格式的邮件/h1
p这是一段b加粗/b的文本。/p
p这是一个a hrefhttps://www.example.com链接/a。/p
/body
/html
# 发送HTML邮件
send_html_email(sender_email, sender_password, recipient_email, subject, html_body)在这个示例中需要替换以下变量的值
sender_email: 发件人的邮箱地址。sender_password: 发件人的邮箱密码。recipient_email: 收件人的邮箱地址。smtp_server: 发件人邮箱所属的SMTP服务器地址。smtp_port: SMTP服务器的端口号通常为587假设使用TLS加密。subject: 邮件的主题。html_body: 邮件的HTML格式内容。 三、发送带附件的邮件 发送带附件的邮件是非常常见的需求它允许你在邮件中包含文档、图片、PDF文件等附件。以下是详细介绍如何使用Python发送包含附件的邮件的步骤以及演示如何添加文本、图像或其他文件作为附件的示例代码
1、导入必要的库 首先导入Python的smtplib和email库。smtplib库提供了与SMTP服务器通信的功能而email库用于构建邮件消息。
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.application import MIMEApplication2、设置发件人、收件人和邮件内容 创建一个MIMEMultipart对象来表示邮件消息的多部分内容。设置发件人、收件人和主题。添加文本或HTML格式的正文。
# 创建邮件消息对象
message MIMEMultipart()# 邮件正文
text_body 这是一封带附件的邮件。
message.attach(MIMEText(text_body, plain))# 发件人
message[From] senderexample.com# 收件人
message[To] recipientexample.com# 主题
message[Subject] 带附件的邮件示例3、添加附件 为了添加附件需要使用MIMEApplication对于二进制文件或MIMEImage对于图片文件等MIME子类并将附件内容读取并添加到消息中。
# 添加文本文件附件
text_attachment MIMEApplication(open(document.txt, rb).read())
text_attachment.add_header(Content-Disposition, attachment, filenamedocument.txt)
message.attach(text_attachment)# 添加图片文件附件
image_attachment MIMEImage(open(image.jpg, rb).read())
image_attachment.add_header(Content-Disposition, attachment, filenameimage.jpg)
message.attach(image_attachment)4、连接到SMTP服务器并发送邮件
使用smtplib库连接到SMTP服务器并使用登录凭据发送邮件。
# 设置SMTP服务器信息
smtp_server smtp.example.com
smtp_port 587 # 假设使用的是TLS加密端口号为587# 发件人邮箱登录凭据
username senderexample.com
password your_passwordtry:# 连接到SMTP服务器server smtplib.SMTP(smtp_server, smtp_port)server.starttls() # 开启TLS加密# 登录邮箱账号server.login(username, password)# 发送邮件server.sendmail(username, [recipientexample.com], message.as_string())print(邮件发送成功)
except Exception as e:print(邮件发送失败:, e)
finally:# 关闭连接server.quit()5、示例
下面是一个完整的示例代码演示如何使用Python发送带有附件的邮件
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.application import MIMEApplicationdef send_email_with_attachment(sender_email, sender_password, recipient_email, subject, body, attachment_paths):# 创建邮件消息对象message MIMEMultipart()# 邮件正文message.attach(MIMEText(body, plain))# 添加附件for attachment_path in attachment_paths:attachment create_attachment(attachment_path)message.attach(attachment)# 发件人message[From] sender_email# 收件人message[To] recipient_email# 主题message[Subject] subject# 设置SMTP服务器信息smtp_server smtp.example.comsmtp_port 587 # 假设使用的是TLS加密端口号为587try:# 连接到SMTP服务器server smtplib.SMTP(smtp_server, smtp_port)server.starttls() # 开启TLS加密# 登录邮箱账号server.login(sender_email, sender_password)# 发送邮件server.sendmail(sender_email, [recipient_email], message.as_string())print(邮件发送成功)except Exception as e:print(邮件发送失败:, e)finally:# 关闭连接server.quit()def create_attachment(file_path):# 获取文件名和文件扩展名filename file_path.split(/)[-1]file_extension filename.split(.)[-1]# 根据文件扩展名选择合适的MIME类型if file_extension.lower() txt:attachment MIMEText(open(file_path, rb).read())elif file_extension.lower() in [jpg, jpeg, png, gif]:attachment MIMEImage(open(file_path, rb).read())else:attachment MIMEApplication(open(file_path, rb).read())# 添加文件名到附件的头部attachment.add_header(Content-Disposition, attachment, filenamefilename)return attachment# 输入发件人邮箱地址、密码、收件人邮箱地址、主题、正文和附件路径
sender_email senderexample.com
sender_password your_password
recipient_email recipientexample.com
subject 带附件的邮件示例
body 这是一封带附件的邮件。请查收附件。
attachment_paths [document.txt, image.jpg]# 发送带附件的邮件
send_email_with_attachment(sender_email, sender_password, recipient_email, subject, body, attachment_paths)在这个示例中需要替换以下变量的值
sender_email: 发件人的邮箱地址。sender_password: 发件人的邮箱密码。recipient_email: 收件人的邮箱地址。subject: 邮件的主题。body: 邮件的正文内容。attachment_paths: 包含要添加为附件的文件的路径列表。 四、发送带图片嵌入的邮件 在邮件中嵌入图片可以使邮件内容更加生动例如创建富文本签名、发送图文并茂的内容等。以下是详细介绍如何在邮件中嵌入图片的步骤以及讨论嵌入图片的用途
1、导入必要的库 首先导入Python的smtplib和email库。smtplib库提供了与SMTP服务器通信的功能而email库用于构建邮件消息。
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage2、设置发件人、收件人和邮件内容 创建一个MIMEMultipart对象来表示邮件消息的多部分内容。设置发件人、收件人和主题。添加文本或HTML格式的正文。
# 创建邮件消息对象
message MIMEMultipart()# 邮件正文HTML格式
html_body
html
head/head
body
h1这是一封带图片的邮件/h1
p以下是嵌入的图片/p
img srccid:image1 altimage
/body
/html
# 将HTML内容添加到邮件消息中
message.attach(MIMEText(html_body, html))# 发件人
message[From] senderexample.com# 收件人
message[To] recipientexample.com# 主题
message[Subject] 带图片嵌入的邮件示例3、添加嵌入的图片 使用MIMEImage类将图片文件加载到消息中并为每个嵌入的图片指定一个唯一的CIDContent-ID以便在HTML内容中引用。
# 添加嵌入的图片
with open(image.jpg, rb) as img_file:image MIMEImage(img_file.read())image.add_header(Content-ID, image1)message.attach(image)4、连接到SMTP服务器并发送邮件
使用smtplib库连接到SMTP服务器并使用登录凭据发送邮件。
# 设置SMTP服务器信息
smtp_server smtp.example.com
smtp_port 587 # 假设使用的是TLS加密端口号为587# 发件人邮箱登录凭据
username senderexample.com
password your_passwordtry:# 连接到SMTP服务器server smtplib.SMTP(smtp_server, smtp_port)server.starttls() # 开启TLS加密# 登录邮箱账号server.login(username, password)# 发送邮件server.sendmail(username, [recipientexample.com], message.as_string())print(邮件发送成功)
except Exception as e:print(邮件发送失败:, e)
finally:# 关闭连接server.quit()5、示例
下面是一个完整的示例代码演示如何使用Python发送带有嵌入图片的邮件
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImagedef send_email_with_embedded_image(sender_email, sender_password, recipient_email, subject, html_body, image_path):# 创建邮件消息对象message MIMEMultipart()# 邮件正文HTML格式message.attach(MIMEText(html_body, html))# 添加嵌入的图片with open(image_path, rb) as img_file:image MIMEImage(img_file.read())image.add_header(Content-ID, image1)message.attach(image)# 发件人message[From] sender_email# 收件人message[To] recipient_email# 主题message[Subject] subject# 设置SMTP服务器信息smtp_server smtp.example.comsmtp_port 587 # 假设使用的是TLS加密端口号为587try:# 连接到SMTP服务器server smtplib.SMTP(smtp_server, smtp_port)server.starttls() # 开启TLS加密# 登录邮箱账号server.login(sender_email, sender_password)# 发送邮件server.sendmail(sender_email, [recipient_email], message.as_string())print(邮件发送成功)except Exception as e:print(邮件发送失败:, e)finally:# 关闭连接server.quit()# 输入发件人邮箱地址、密码、收件人邮箱地址、主题、HTML邮件内容和图片路径
sender_email senderexample.com
sender_password your_password
recipient_email recipientexample.com
subject 带图片嵌入的邮件示例
html_body
html
head/head
body
h1这是一封带图片的邮件/h1
p以下是嵌入的图片/p
img srccid:image1 altimage
/body
/htmlimage_path image.jpg# 发送带图片嵌入的邮件
send_email_with_embedded_image(sender_email, sender_password, recipient_email, subject, html_body, image_path)在这个示例中需要替换以下变量的值
sender_email: 发件人的邮箱地址。sender_password: 发件人的邮箱密码。recipient_email: 收件人的邮箱地址。subject: 邮件的主题。html_body: 邮件的HTML格式内容其中的img标签使用了CIDContent-ID来引用嵌入的图片。image_path: 要嵌入的图片文件的路径。 五、发送带样式的邮件 发送带样式的邮件可以使邮件内容更加美观和吸引人。在HTML邮件中使用CSS样式可以控制文本的字体、颜色、大小设置背景色、边框等从而实现更丰富的邮件内容样式。 以下是详细介绍如何在HTML邮件中使用CSS样式的步骤以及演示如何美化邮件内容的示例代码
1、创建HTML邮件内容 首先构建HTML格式的邮件内容包括所需的文本、图片和其他元素。在HTML中使用style标签添加CSS样式。
!DOCTYPE html
html
head
style
/* CSS样式 */
body {font-family: Arial, sans-serif;background-color: #f2f2f2;padding: 20px;
}h1 {color: #333;text-align: center;
}p {color: #666;font-size: 16px;
}.img-container {text-align: center;
}img {width: 300px;border-radius: 10px;
}
/style
/head
bodyh1这是一封带样式的邮件/h1
p这是一段带有样式的文本。/p
div classimg-containerimg srccid:image1 altimage
/div/body
/html2、创建邮件消息对象并添加内容
使用Python的email库创建邮件消息对象并将HTML内容添加到邮件中。
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImagedef send_styled_email(sender_email, sender_password, recipient_email, subject, html_content, image_path):# 创建邮件消息对象message MIMEMultipart()# 邮件正文HTML格式message.attach(MIMEText(html_content, html))# 添加嵌入的图片with open(image_path, rb) as img_file:image MIMEImage(img_file.read())image.add_header(Content-ID, image1)message.attach(image)# 发件人message[From] sender_email# 收件人message[To] recipient_email# 主题message[Subject] subject# 设置SMTP服务器信息smtp_server smtp.example.comsmtp_port 587 # 假设使用的是TLS加密端口号为587try:# 连接到SMTP服务器server smtplib.SMTP(smtp_server, smtp_port)server.starttls() # 开启TLS加密# 登录邮箱账号server.login(sender_email, sender_password)# 发送邮件server.sendmail(sender_email, [recipient_email], message.as_string())print(邮件发送成功)except Exception as e:print(邮件发送失败:, e)finally:# 关闭连接server.quit()# 输入发件人邮箱地址、密码、收件人邮箱地址、主题、HTML邮件内容和图片路径
sender_email senderexample.com
sender_password your_password
recipient_email recipientexample.com
subject 带样式的邮件示例
html_content !DOCTYPE html
html
head
style
/* CSS样式 */
body {font-family: Arial, sans-serif;background-color: #f2f2f2;padding: 20px;
}h1 {color: #333;text-align: center;
}p {color: #666;font-size: 16px;
}.img-container {text-align: center;
}img {width: 300px;border-radius: 10px;
}
/style
/head
bodyh1这是一封带样式的邮件/h1
p这是一段带有样式的文本。/p
div classimg-containerimg srccid:image1 altimage
/div/body
/html
image_path image.jpg# 发送带样式的邮件
send_styled_email(sender_email, sender_password, recipient_email, subject, html_content, image_path)六、发送带链接的邮件 在邮件中添加链接可以使邮件更具交互性和实用性例如发送通知邮件时可以提供查看更多信息的链接或者发送订阅确认邮件时可以包含确认订阅的链接。
以下是详细介绍如何在邮件中添加链接的步骤以及提供了实际用例和示例代码
1、创建邮件内容
首先构建邮件的HTML内容并在需要添加链接的地方使用a标签添加链接。
!DOCTYPE html
html
head
/head
body
h1这是一封带链接的邮件/h1
p点击以下链接查看更多信息/p
a hrefhttps://www.example.com点击这里/a。
/body
/html2、创建邮件消息对象并添加内容
使用Python的email库创建邮件消息对象并将HTML内容添加到邮件中。
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMETextdef send_email_with_link(sender_email, sender_password, recipient_email, subject, html_content):# 创建邮件消息对象message MIMEMultipart()# 邮件正文HTML格式message.attach(MIMEText(html_content, html))# 发件人message[From] sender_email# 收件人message[To] recipient_email# 主题message[Subject] subject# 设置SMTP服务器信息smtp_server smtp.example.comsmtp_port 587 # 假设使用的是TLS加密端口号为587try:# 连接到SMTP服务器server smtplib.SMTP(smtp_server, smtp_port)server.starttls() # 开启TLS加密# 登录邮箱账号server.login(sender_email, sender_password)# 发送邮件server.sendmail(sender_email, [recipient_email], message.as_string())print(邮件发送成功)except Exception as e:print(邮件发送失败:, e)finally:# 关闭连接server.quit()# 输入发件人邮箱地址、密码、收件人邮箱地址、主题和HTML邮件内容
sender_email senderexample.com
sender_password your_password
recipient_email recipientexample.com
subject 带链接的邮件示例
html_content !DOCTYPE html
html
head
/head
body
h1这是一封带链接的邮件/h1
p点击以下链接查看更多信息/p
a hrefhttps://www.example.com点击这里/a。
/body
/html# 发送带链接的邮件
send_email_with_link(sender_email, sender_password, recipient_email, subject, html_content)七、发送群发邮件 发送群发邮件是一种常见的需求它允许你一次性向多个收件人发送相同的邮件内容。以下是详细介绍如何使用Python发送群发邮件的步骤以及提供了示例代码
1、准备邮件内容 首先准备好要发送的邮件内容包括主题、正文等。在邮件内容中可以使用{name}等占位符来个性化地填充收件人的信息。
subject 关于XXX活动的通知
body 尊敬的{name}先生/女士您好我们诚挚邀请您参加我们举办的XXX活动。2、准备收件人列表 创建一个收件人列表包含所有要发送邮件的收件人邮箱地址。
recipients [{name: 张三, email: zhangsanexample.com},{name: 李四, email: lisiexample.com},{name: 王五, email: wangwuexample.com},# 添加更多收件人...
]3、创建邮件消息对象并发送邮件
使用Python的smtplib库连接到SMTP服务器并循环发送邮件给每个收件人。
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipartdef send_group_email(sender_email, sender_password, subject, body, recipients):smtp_server smtp.example.comsmtp_port 587 # 使用TLS加密的端口号try:# 连接到SMTP服务器server smtplib.SMTP(smtp_server, smtp_port)server.starttls() # 开启TLS加密# 登录邮箱账号server.login(sender_email, sender_password)for recipient in recipients:# 创建邮件消息对象message MIMEMultipart()message[From] sender_emailmessage[To] recipient[email]message[Subject] subject# 填充邮件内容personalized_body body.format(namerecipient[name])message.attach(MIMEText(personalized_body, plain))# 发送邮件server.sendmail(sender_email, recipient[email], message.as_string())print(f邮件发送给 {recipient[name]} ({recipient[email]}) 成功)print(群发邮件完成)except Exception as e:print(群发邮件失败:, e)finally:# 关闭连接server.quit()# 输入发件人邮箱地址、密码、主题、正文和收件人列表
sender_email your_emailexample.com
sender_password your_password
subject 关于XXX活动的通知
body 尊敬的{name}先生/女士您好我们诚挚邀请您参加我们举办的XXX活动。
recipients [{name: 张三, email: zhangsanexample.com},{name: 李四, email: lisiexample.com},{name: 王五, email: wangwuexample.com},# 添加更多收件人...
]# 发送群发邮件
send_group_email(sender_email, sender_password, subject, body, recipients)