Python3中发邮件emal(明文/SSL/TLS三种方式)
2024-09-03 01:56:35
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#Author:lzd
import smtplib
from email.mime.text import MIMEText
from email.utils import formatdate
from email.header import Header
import sys # 设置默认字符集为UTF8 不然有些时候转码会出问题
default_encoding = 'utf-8'
if sys.getdefaultencoding() != default_encoding:
reload(sys)
sys.setdefaultencoding(default_encoding) # 发送邮件的相关信息,根据你实际情况填写
smtpHost = 'smtp.189.cn'
smtpPort = ''
sslPort = ''
fromMail = 'xxxxxxxxxxx@189.cn'
toMail = 'xxxxxxxx@qq.com'
username = 'xxxxxx'
password = 'xxxxxxxx' # 邮件标题和内容
subject = u'[Notice]hello'
body = u'hello,this is a mail from ' + fromMail # 初始化邮件
encoding = 'utf-8'
mail = MIMEText(body.encode(encoding), 'plain', encoding)
mail['Subject'] = Header(subject, encoding)
mail['From'] = fromMail
mail['To'] = toMail
mail['Date'] = formatdate() try:
# 连接smtp服务器,明文/SSL/TLS三种方式,根据你使用的SMTP支持情况选择一种
# 普通方式,通信过程不加密
# smtp = smtplib.SMTP(smtpHost, smtpPort)
# smtp.ehlo()
# smtp.login(username, password) # tls加密方式,通信过程加密,邮件数据安全,使用正常的smtp端口
# smtp = smtplib.SMTP(smtpHost,smtpPort)
# smtp.set_debuglevel(True)
# smtp.ehlo()
# smtp.starttls()
# smtp.ehlo()
# smtp.login(username,password) # 纯粹的ssl加密方式,通信过程加密,邮件数据安全
smtp = smtplib.SMTP_SSL(smtpHost,sslPort)
smtp.ehlo()
smtp.login(username,password) # 发送邮件
smtp.sendmail(fromMail, toMail, mail.as_string())
smtp.close()
print("OK")
except Exception as e:
print("e")
最新文章
- 初始Java DVD项目
- Elasticsearch使用备忘
- HBase工程师线上工作经验总结----HBase常见问题及分析
- ahjesus用forever管理nodejs服务
- GCC笔记
- C++ Primer 学习笔记_76_模板与泛型编程 --模板定义[续]
- apache开源项目--HydraBase
- ERP系统开发平台 (C#语言,支持多数据库)
- 【转】app后端如何选择合适的数据库产品
- HTTPS协议入门
- 201521123064 《Java程序设计》第4周学习总结
- .net core2.0下Ioc容器Autofac使用
- python3 Flask -day4 自定义url转换器
- 用Python对html进行编码
- idea不识别yml配置文件,怎么办?
- SQL SERVER TRANSACTION 事物
- Spring入门学习笔记(3)——事件处理类
- 2016-2017-20155329 《Java程序设计》第6周学习总结
- 【vue】饿了么项目-header组件开发
- 英文单词cipher 和password的区别,用法有什么不同,