python实现邮件发送功能

Python实现邮件发送功能

邮件发送是日常工作中常见的功能,通过Python可以很方便地实现邮件发送功能。本文将介绍如何使用Python编写代码来发送邮件。

1. 导入所需模块

在开始编写代码之前,首先需要导入所需模块。Python的标准库中已经包含了smtplib和email模块,可以用于发送邮件。同时,还需要导入一些其他模块,如os、time等。

import smtplib

from email.mime.text import MIMEText

from email.mime.multipart import MIMEMultipart

import os

import time

2. 设置邮件内容

在发送邮件之前,需要设置邮件的内容。可以设置邮件的主题、发件人、收件人、正文等。

sender = 'your_email@gmail.com'

receiver = 'recipient_email@gmail.com'

subject = 'Python邮件发送测试'

content = '这是一封测试邮件'

3. 构建邮件对象

邮件对象需要使用email.mime模块中的MIMEMultipart类来创建,可以添加邮件的主题、发件人、收件人、正文等信息。

message = MIMEMultipart()

message['From'] = sender

message['To'] = receiver

message['Subject'] = subject

message.attach(MIMEText(content, 'plain'))

4. 添加附件(可选)

如果需要添加附件,可以使用email.mime模块中的MIMEText和MIMEBase类来添加附件,然后将附件添加到邮件对象中。

attachment_path = 'file_path'

attachment_file = open(attachment_path, 'rb')

attachment = MIMEBase('application', 'octet-stream')

attachment.set_payload((attachment_file).read())

attachment.add_header('Content-Disposition', "attachment; filename= %s" % os.path.basename(attachment_path))

message.attach(attachment)

5. 配置SMTP服务器

在发送邮件之前,需要配置SMTP服务器的信息。可以使用smtplib模块中的SMTP类来配置SMTP服务器,并登录发件人邮箱。

smtp_server = 'smtp.gmail.com'

smtp_port = 587

password = 'your_password'

smtp_obj = smtplib.SMTP(smtp_server, smtp_port)

smtp_obj.starttls()

smtp_obj.login(sender, password)

6. 发送邮件

配置好SMTP服务器后,使用SMTP对象的sendmail方法来发送邮件。

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

smtp_obj.quit()

7. 完整代码

下面是完整的Python代码示例:

import smtplib

from email.mime.text import MIMEText

from email.mime.multipart import MIMEMultipart

import os

sender = 'your_email@gmail.com'

receiver = 'recipient_email@gmail.com'

subject = 'Python邮件发送测试'

content = '这是一封测试邮件'

message = MIMEMultipart()

message['From'] = sender

message['To'] = receiver

message['Subject'] = subject

message.attach(MIMEText(content, 'plain'))

attachment_path = 'file_path'

attachment_file = open(attachment_path, 'rb')

attachment = MIMEBase('application', 'octet-stream')

attachment.set_payload((attachment_file).read())

attachment.add_header('Content-Disposition', "attachment; filename= %s" % os.path.basename(attachment_path))

message.attach(attachment)

smtp_server = 'smtp.gmail.com'

smtp_port = 587

password = 'your_password'

smtp_obj = smtplib.SMTP(smtp_server, smtp_port)

smtp_obj.starttls()

smtp_obj.login(sender, password)

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

smtp_obj.quit()

总结

通过上面的代码示例,可以很方便地使用Python实现邮件发送功能。只需要根据自己的需求设置邮件的内容和附件,然后配置好SMTP服务器,就可以发送邮件了。

使用Python发送邮件具有很多的应用场景,比如发送报表、发送通知等。希望本文对您有所帮助!

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

后端开发标签