全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

用Python的smtplib模块轻松实现邮件发送功能

发布时间:2023-07-21 16:17:31
发布人:xqq
Python自带的smtplib模块可以用于发送邮件,只需要连接SMTP服务器并传递数据即可。本文将展示如何使用Python的smtplib模块轻松实现邮件发送功能。

一、连接SMTP服务器

首先需要连接SMTP服务器,SMTP(Simple Mail Transfer Protocol)是用于邮件发送的协议。Python的smtplib模块可以连接SMTP服务器,并通过它发送邮件。下面是代码示例:

import smtplib

smtp_server = 'smtp.gmail.com'
smtp_port = 587
username = 'your email'
password = 'your password'

server = smtplib.SMTP(smtp_server, smtp_port)
server.ehlo()
server.starttls()
server.login(username, password)
- smtp_server:SMTP服务器的地址,如Gmail、Hotmail、Yahoo等都有各自的SMTP服务器。 - smtp_port:SMTP服务器运行的端口,一般都是25或587。 - username和password:发件人的邮箱地址和密码,需要用它们登录SMTP服务器。 这里假设你使用Gmail作为SMTP服务器,你需要自己替换smtp_server、username和password。 首先使用SMTP()函数创建一个SMTP对象,然后使用ehlo()函数打招呼,使用starttls()函数启动TLS加密,最后使用login()函数登录SMTP服务器。

二、构造邮件内容

邮件通常包含邮件主题、收件人、发件人、邮件内容和附件等信息。下面是一个基本的邮件构造示例:

from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

subject = 'Test email'
from_addr = 'sender email'
to_addr = 'receiver email'
body = 'Hello, This is a test email.'

msg = MIMEMultipart()
msg['From'] = from_addr
msg['To'] = to_addr
msg['Subject'] = subject
msg.attach(MIMEText(body, 'plain'))
- MIMEText:邮件的消息内容,包括邮件正文和格式。 - MIMEMultipart:邮件对象,可包含邮件的所有信息,包括附件等。 这里使用MIMEText()函数创建一个纯文本邮件内容,然后使用MIMEMultipart()函数创建一个邮件对象。设置发件人、收件人和主题等信息后,将邮件内容添加到邮件对象中。

三、发送邮件

邮件构造完成后,可以使用sendmail()函数将邮件发送出去:

server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()
- from_addr和to_addr:发件人和收件人的邮件地址。 - msg.as_string():将msg(邮件对象)转换为str类型。 发送邮件后,用quit()函数关闭SMTP连接。 代码示例:

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

smtp_server = 'smtp.gmail.com'
smtp_port = 587
username = 'your email'
password = 'your password'
from_addr = 'sender email'
to_addr = 'receiver email'
subject = 'Test email'
body = 'Hello, This is a test email.'

server = smtplib.SMTP(smtp_server, smtp_port)
server.ehlo()
server.starttls()
server.login(username, password)

msg = MIMEMultipart()
msg['From'] = from_addr
msg['To'] = to_addr
msg['Subject'] = subject
msg.attach(MIMEText(body, 'plain'))

server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()
以上就是使用Python的smtplib模块轻松实现邮件发送功能的方法。
#python教程

相关文章

任务管理系统的优势是什么?

任务管理系统的优势是什么?

2023-10-15
c#为什么不脱离.net平台?

c#为什么不脱离.net平台?

2023-10-15
程序员怎么使用二进制直接编写程序?

程序员怎么使用二进制直接编写程序?

2023-10-15
为什么Hadoop是用Java实现的?

为什么Hadoop是用Java实现的?

2023-10-15

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取