【●】邮件和JSON
一、邮件编程
1.SMTP概述
● SMTP 即简单邮件传输协议,使用TCP协议25端口
● 它是一组用来由源地址到目的地址传递邮件的规则,由他来控制信件的中转方式
● python的smtplib提供了一种很方便的途径发送电子邮件。它对SMTP协议进行了简单的封装。
2.SMTP对象
● Python发送邮件,第一步是创建SMTP对象
● 创建SMTP对象也可以不给定参数,之后再通过对象的其他方法进行绑定。
3.设置邮件
● 标准邮件需要三个头部信息
— From:发件人
— To:收件人
— Subject:主题
4.sendmail方法
● Python SMTP 对象使用 sendmail 方法发送邮件
● sendmail 方法三个必须的参数有:
— 收件人
— 发件人
— 消息主体是一个字符串,表示邮件
● 将准备好的邮件发送
5.发送邮件
email 模块, 用于准备邮件内容
smtplib 模块, 用于与邮件服务器连接并发送邮件
● 例子
[root@dc youjian]# vim mail.py
#导入模块
from email.mime.text import MIMEText #指定邮件正文模块
from email.header import Header #指定邮件头部信息模块
import smtplib #发送邮件模块
m = MIMEText('python test mail\n','plain' , 'utf8') #邮件正文
#为邮件添加头部信息
m['From'] = Header("root",'utf8') # 发件人
m['to'] = Header('bob','utf8') #收件人
m['Subject'] = Header('GOOD', 'utf8') #邮件标题
#发送邮件
s = smtplib.SMTP('127.0.0.1') #指定邮件服务器
sender = "root" #指定发件人
receivers = ["bob","tom"] #指定收件人
s.sendmail(sender , receivers,m.as_bytes()) #发送邮件
[root@dc youjian]# python3 mail.py #执行脚本
[root@dc youjian]# mail -u bob 查看指定用户下是否收到邮件并查看
Heirloom Mail version 12.5 7/5/10. Type ? for help.
"/var/mail/bob": 1 message 1 new
>N 1 =?utf8?q?root?=@dc.t Wed Jun 30 13:29 19/577 "GOOD"
& 1 #输入序列号查看邮件
Message 1:
From root@dc.tedu.cn Wed Jun 30 13:29:45 2021
Return-Path: <root@dc.tedu.cn>
X-Original-To: bob
Delivered-To: bob@dc.tedu.cn
Content-Type: text/plain; charset="utf8"
From: root@dc.tedu.cn
to: jerry@dc.tedu.cn
Subject: GOOD
Date: Wed, 30 Jun 2021 13:29:45 -0400 (EDT)