欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python发送邮件和POP3、SMTP及IMA

发布时间:2024/3/26 python 50 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python发送邮件和POP3、SMTP及IMA 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

使用python发送邮件

准备工作

1、python环境、
2、含有使用的模块smtplib,email
3、设置好对应邮箱的pop3、SMTP,一般设置方式在:设置-账户里,找到开启就行,这里要记录邮箱的授权码一个邮箱可以有多个授权码,

代码部分

参考:https://zhuanlan.zhihu.com/p/24180606

class Mail:def __init__(self):## 136邮箱SMTPself.mail_host = "smtp.163.com" # 设置服务器:这个是163邮箱服务器,直接复制就可以self.mail_pass = "********" # 上面提到的邮箱的获取的授权码self.sender = '18****8@163.com' # 你的邮箱地址self.receivers = ['1****@163.com']def send(self):content = '你要发送的邮件内容'message = MIMEText(content, 'plain', 'utf-8')message['From'] = Header("发件人名字,可自由填写", 'utf-8')message['To'] = Header("收件人名字,可自由填写", 'utf-8')subject = '一个python的测试消息' # 发送的主题,可自由填写message['Subject'] = Header(subject, 'utf-8')try:# smtpObj = smtplib.SMTP_SSL(self.mail_host, 465) # QQ的服务器smtpObj = smtplib.SMTP(self.mail_host, 25) # 163的服务器,且不用sslsmtpObj.login(self.sender, self.mail_pass)smtpObj.sendmail(self.sender, self.receivers, message.as_string())smtpObj.quit()print('邮件发送成功')except smtplib.SMTPException as e:print('邮件发送失败')if __name__ == '__main__':mail = Mail()mail.send()

POP3、SMTP及IMAP区别

参考:https://help.mail.163.com/faqDetail.do?code=d7a5dc8471cd0c0e8b4b8f4f8e49998b374173cfe9171305fa1ce630d7f67ac21b87735d7227c217
POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本
SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。
IMAP全称是Internet Mail Access Protocol,即交互式邮件存取协议,它是跟POP3类似邮件访问标准协议之一。

163和126的端口和协议一样,只是将服务器地址中的126和136不同


注意,程序中的命令要和对应的协议和端口号对应,smtplib.SMTP或smtplib.SMTP_SSL

qq邮箱

好像qq邮箱只有ssl协议的访问
SSL协议(Secure Socket Layer,安全套接层)是由网景(Netscape)公司推出的一种安全通信协议
参考:https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=369&&id=28
,https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=167&&id=28

总结

以上是生活随笔为你收集整理的python发送邮件和POP3、SMTP及IMA的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。