首页 > 编程语言 >python中利用smtplib发送邮件的3中方式 普通/ssl/tls

python中利用smtplib发送邮件的3中方式 普通/ssl/tls

时间:2022-09-27 10:12:24浏览次数:53  
标签:tls encoding python smtp ssl import mail smtplib 邮件

#!/usr/bin/python  
#  coding:utf-8   
import smtplib  
from email.MIMEText 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.126.com'  
smtpPort = '25'  
sslPort  = '587'  
fromMail = '[email protected]'  
toMail   = '[email protected]'  
username = 'zhangsan'  
password = '123456'  
    
#邮件标题和内容  
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

 

标签:tls,encoding,python,smtp,ssl,import,mail,smtplib,邮件
From: https://www.cnblogs.com/wpcnblog/p/16733539.html

相关文章

  • 腾讯云平台申请免费ssl证书
    环境:有域名需要使用https,但又不想花钱买ssl证书,仅适用单个域名解决方案:1.注册腾讯云平台,找到申请ssl证书页面 https://console.cloud.tencent.com/ssl 2.nginx......
  • Linux升级python至3.x
    前言云服务器一般都用Linux系统,现在云服务器的Linux一般自带python,只是版本是2.x,比较老的那种。大部分人用的python应该都是3.x版本的,这时候你在本地编写的python文件拿到......
  • OpenSSL/GmSSL
    OpenSSL/GmSSLPKCS12_create......
  • Python第四章实验报告
    一、实验题目Python第四章实例和实战作业二、实验目的和要求1.熟悉Pycharm的运行环境2.学习并掌握Python的流程控制语句三、主要仪器设备联想小新air15硬件:AMDR75......
  • 羊了个羊,但是Python简(li)单(pu)版
    大家好,欢迎来到Crossin的编程教室!要说最近最热门的游戏,那肯定是《羊了个羊》没跑了。连续上了好几天热搜,火到连央视都来提醒谨防有人利用游戏之名诈骗。但游戏爆火的另......
  • The Python Standard Library by Example pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1XrEGFnmV_jwtkXILXLjUQg点击这里获取提取码 ......
  • Python源码剖析 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/12DltvfQr4Tc7ZwhiG1UmAg点击这里获取提取码 ......
  • python
    基本数据类型之布尔值bool用来判断事物的对错是否可行只要用于流程控制中只有两种状态true对的真的可行的false错的假的不可行的python中所有......
  • python Thread
    #foriinrange(10):#t1=Thread(target=函数,args=(,))#t.append(t1)##t1.start()#forhint:#h.join()#共耗时:26.087260484695435500#fo......
  • Python-标识符命名规则
    合法标识符在Python中,标识符由字母,数字,下划线组成,但不能以数字开头.命名规则lower_underscore:小写字母中间隔下划线.一般使用小写加下划线UPPER_UNDERS......