首页 > 编程语言 >利用 python 发送邮件

利用 python 发送邮件

时间:2022-12-10 11:45:23浏览次数:53  
标签:content addr python smtp server 发送 邮件

电子邮件系统简述

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

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

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

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 = '[email protected]'        #以QQ邮箱为例
    password = 'xxx'                #授权码
    to_addr = '[email protected]'    #接收方邮箱
    smtp_server = 'smtp.qq.com'     #发送方服务器
    sendEmail(from_addr, password, to_addr, smtp_server, content)

标签:content,addr,python,smtp,server,发送,邮件
From: https://www.cnblogs.com/kongaobo/p/16971330.html

相关文章