通过互联网邮件服务器发送邮件

需求说明

现在对上一篇文章的本地访问方式进行改进

可以通过自己互联网注册的邮箱给别人的互联网邮箱消息

相关敏感消息已经修改!!!


源代码


导入模块

import smtplib

from email.mime.textimport MIMEText

from email.headerimport Header

import getpass

定义函数

def send_mail(body,sender,receivers,subjict,host,passwd):

#邮件正文有三个参数:第一个为文本内容,第二个设置文本格式plain,第三个utf-8设置设置编码保证多语言兼容性

    message=MIMEText(body,"plain","utf8")

#标准邮件需要三个头部信息:FROM,TO和Subject

    #发送者信息(谁发的)

    message['From']=Header(sender,"utf8")

#接收者信息(发给谁)

    message['To']=Header(receivers[0],'utf8')

#主题信息

    message['Subject']=Header(subjict,'utf8')

#发送邮件

    smtp=smtplib.SMTP()

smtp.connect(host)

#如果服务器要求安全通信,打开此注释

    #smtp.starttls()

    smtp.login(sender,passwd)

smtp.sendmail(sender,receivers,message.as_bytes())

smtp.close()

if __name__ =='__main__':

body='您想发送的邮件里的详细文件'

    sender='发送方邮箱地址'

    receivers=['收件人邮箱1','收件人邮箱2']

    subject='邮件标题'

    #邮件服务器的地址,这里用qq的

    host='smtp.qq.com'

    passwd=getpass.getpass()

    #passwd为授权码,可以百度QQ邮箱如何开启客户端授权码来获取

    send_mail(body, sender, receivers, subject, host, passwd)


代码运行结果


python3 online_mail.py

Password:  

!!!:这里的password不是输入用户密码,而是输入在对应邮箱服务器上获取的客户端授权码!!!!

执行完脚本之后可以在对应的收件人邮箱中查看到对应的邮件!


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容