利用 python 发送邮件

电子邮件系统简述#

电子邮件系统的组成如下图:

电子邮件的发送过程如下图:

一封电子邮件由一个基本的信封、数个首部字段、一个空行和邮件主体组成,常见的首部如下图:

python实现#

此处仅实现文本内容的电子邮件发送。

emai实现邮件构造,其中MIMEText提供邮件构造功能,Header提供编码功能。
smtplib实现SMTP协议,完成邮件发送。

from email.header import Header
from email.mime.text import MIMEText

import smtplib


def sendEmail(from_addr, password, to_addr, smtp_server, content):
    '''
    parameters:
    
    from_addr 发送方邮箱

    password 发送方密码

    to_addr 接收方邮箱

    smtp_server 发送方邮件服务器

    content 邮件内容 {'text': 'xxx', 'subject': 'xxx'}
    '''

    msg = MIMEText(content['text'], 'plain', 'utf-8')
    msg['From'] = Header(from_addr)
    msg['To'] = Header(to_addr)
    msg['Subject'] = Header(content['subject'])

    server = smtplib.SMTP(smtp_server, 25)
    server.set_debuglevel(1)
    server.login(from_addr, password)
    server.sendmail(from_addr, [to_addr], msg.as_string())
    server.quit()


if __name__ == '__main__':
    content = {'text': '邮件发送测试', 'subject': 'test'}
    from_addr = 'xxx@qq.com'        #以QQ邮箱为例
    password = 'xxx'                #授权码
    to_addr = '839957231@qq.com'    #接收方邮箱
    smtp_server = 'smtp.qq.com'     #发送方服务器
    sendEmail(from_addr, password, to_addr, smtp_server, content)

作者:Kong Aobo

出处:https://www.cnblogs.com/kongaobo/p/16971330.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   Kong-Aobo  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示