Python基础-45-邮件发送(纯文本)

前言

之前有过发送邮件的介绍(python发送邮件),这里更为详细整体的梳理一下

 

SMTP

1)SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议。

2)SMTP 是建立在 TCP上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。 

3)SMTP是发送邮件的协议,Python内置会对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。

4)Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。

 

MIMEText发送纯文本文件

import smtplib
from email.mime.text import MIMEText

def send_text_only():
    # 1.发件人、授权码,收件人信息
    from_addr = "[email protected]"
    pwd = "aqinixxxxxxxxxxx"
    to_addr = "[email protected]"  # 发送给多个,直接["邮箱1","邮箱2","邮箱3"]

    # 2.发送内容
    msg = MIMEText("hello, I am suner!!")

    # 3.连接smtp服务器,登录服务器并发送文本
    smtp_server = "smtp.qq.com"
    server = smtplib.SMTP(smtp_server,25)
    server.login(from_addr,pwd)
    server.sendmail(from_addr,to_addr,msg.as_string()) # as_string()把MIMEText变成一个str
    server.close()

if __name__ == '__main__':
    
    send_text_only()

 

执行后,收到邮件,并打开邮件查看 

Python基础-45-邮件发送(纯文本)_第1张图片

 Python基础-45-邮件发送(纯文本)_第2张图片

 优化,给邮件添加主题信息,包括收发件人,邮件主题

import smtplib
from email.mime.text import MIMEText


def send_text_only():
    # 1.发件人、授权码,收件人信息
    from_addr = "[email protected]"
    pwd = "aqinixxxxxxxxxxx"
    to_addr = "[email protected]"  # 发送给多个,直接["邮箱1","邮箱2","邮箱3"]

    # 2.发送内容
    msg = MIMEText("hello, I am suner!!")
    msg["Subject"] = "测试报告"
    msg["From"] = from_addr
    msg["To"] = to_addr

    # 3.连接smtp服务器,登录服务器并发送文本
    smtp_server = "smtp.qq.com"
    server = smtplib.SMTP(smtp_server, 25)
    server.login(from_addr, pwd)
    server.sendmail(from_addr, to_addr, msg.as_string())  # as_string()把MIMEText变成一个str
    server.close()


if __name__ == '__main__':
    send_text_only()

执行后,收到邮件,并打开邮件查看 ,显示的就比较完美了

 Python基础-45-邮件发送(纯文本)_第3张图片

Python基础-45-邮件发送(纯文本)_第4张图片

你可能感兴趣的:(Python基础)