Python实现邮件发送
2022/1/3 17:08:14
本文主要是介绍Python实现邮件发送,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、邮件发送的基本过程与概念
1、邮件服务器 :类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中
2、电子邮箱 :用户在邮件服务器上申请的一个账户
from:xxx@xx.com ----发件人
To:xxx@xx.com ----收件人
subject:hello ----主题
body: 欢迎来到小滴课堂 -----内容体
二、邮件传输协议
1、SMTP协议:全称为 Simple Mail Transfer Protocol,简单邮件传输协议。它定义了邮件客户端软件和SMTP邮件服务器之间,以及两台SMTP邮件服务器之间的通信规则
2、POP3协议:全称为 Post Office Protocol,邮局协议。它定义了邮件客户端软件和POP3邮件服务器的通信 规则
3、IMAP协议:全称为 Internet Message Access Protocol,Internet消息访问协议,它是对POP3协议一种扩展,也是定义了邮件客户端软件和IMAP邮件服务器的通信规则
三、代码实现
import smtplib from email.mime.text import MIMEText class SendEmail: def __init__(self, mail_host): self.mail_host = mail_host def send(self, title, content, sender, pwd, receivers): message = MIMEText(content, "html", "utf-8") message["From"] = "{}".format(sender) message["To"] = ",".join(receivers) message["Subject"] = title try: smtpObj = smtplib.SMTP_SSL(self.mail_host, 465) # 启用ssl发信,端口一般是465 smtpObj.login(sender, pwd) # 登录 smtpObj.sendmail(sender, receivers, message.as_string()) print("发送成功") except Exception as e: print(e) if __name__ == '__main__': mail = SendEmail("smtp.163.com") sender = "XXX@163.com" auth_code = "123456" receivers = ["111111@qq.com", "XXX@163.com"] title = "测试邮件发送" content = """ 测试邮件发送 <a href="https://www.baidu.com">查看更多新闻</a> """ mail.send(title, content, sender, pwd, receivers)
这篇关于Python实现邮件发送的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-03用FastAPI掌握Python异步IO:轻松实现高并发网络请求处理
- 2025-01-02封装学习:Python面向对象编程基础教程
- 2024-12-28Python编程基础教程
- 2024-12-27Python编程入门指南
- 2024-12-27Python编程基础
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型