使用python发生邮箱

1.在使用邮箱登陆需要在邮箱内开启SMTP服务

2.注意在代码中登陆程序使用的密码为第三方授权登陆码,QQ邮箱为系统提供的授权码 网易邮箱为自己设置的授权码

 

 

QQ邮箱模拟

import smtplib  # 发生邮件模块
from email.mime.text import MIMEText   # 邮件文本
"""
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,
由它来控制信件的中转方式
SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。
sever 服务器
"""

SMTPsever= "smtp.qq.com"  # 邮箱的SMTP服务器地址
Sender = "1442121251@qq.com"  # 发送邮箱的地址
password="ohvnrwaaufxthfjh" #使用的是授权码登陆

# 编辑文本
Message = "Hello  Python,你好 世界"  # 准备发送的内容
# msg为字典格式
msg = MIMEText(Message) # 转化为邮件文本
msg["Subject"] = "你好 未来"  # 邮件标题
msg["From"] = Sender  # 邮件发送者


# 登陆服务器
mailsever = smtplib.SMTP(SMTPsever,25)  # 邮件服务器25端口
mailsever.login(Sender,password)  # 登陆邮箱
mailsever.sendmail(Sender,["144pknnkl@qq.com"],msg.as_string())
# 第一个参数发送者 第二个参数接收者 第三个文本
mailsever.quit() # 退出服务器
print("发生完成")

 

网易163邮箱

import smtplib  #发邮件
from  email.mime.text import MIMEText #邮件文本


SMTPsever="smtp.163.com"#服务器
Sender="wl14454501210@163.com" #发送邮件的地址
password="wl1020021" #登录的授权码

Message="Hello  Py子,过来跟哥学python吧,"#发送的内容
msg=MIMEText(Message) #转化邮件文本

msg["Subject"]="你好无恙乎" #邮件标题
msg["From"]=Sender #邮件发送者
# msg["To"]="wl14454501210@163.com"  #谁来收

mailsever=smtplib.SMTP(SMTPsever,25)#邮件服务器25端口
mailsever.login(Sender,password)#登陆
mailsever.sendmail(Sender,
                   ["wl14454501210@163.com" ],
                   msg.as_string())
mailsever.quit()
print("over")

 

类方法

import smtplib  # 发邮件
from email.mime.text import MIMEText  # 邮件文本


class SendMail:
    def __init__(self, SMTPsever, Sender, password):
        """

        :param SMTPsever: 邮箱服务器
        :param Sender: 发送者邮箱
        :param password: 登陆授权码
        """
        self.SMTPsever = SMTPsever  # 服务器
        self.Sender = Sender  # 发送邮件的地址
        self.password = password  # 使用的是授权码登陆
        # 登陆服务器
        self.mailsever = smtplib.SMTP(SMTPsever, 25)  # 邮件服务器25端口
        self.mailsever.login(self.Sender, self.password)  # 登陆

    def send(self, Message, title, maillist):
        """

        :param Message: 发送的文本
        :param title: 文本标题
        :param maillist: 接受邮箱连接列表(列表格式)

        发送邮件功能
        """

        msg = MIMEText(Message)  # 转化邮件文本
        msg["Subject"] = title  # 邮件标题
        msg["From"] = self.Sender  # 邮件发送者

        self.mailsever.sendmail(self.Sender,
                                maillist,
                                msg.as_string())

    def exit(self):
        """
        关闭邮件功能
        """

        self.mailsever.quit()

# sender1 = SendMail("smtp.qq.com","1445422222@qq.com","ohvnrwaaufxthfjh")
# sender1.send("Hello  Python,你好 世界","你好 未来",["1445422222@qq.com"])
# sender1.exit()

sender2 = SendMail("smtp.163.com","1445422222@163.com","wl102030")
sender2.send("Hello  Python,你好 世界","你好 未来",["1445422222@163.com"])
sender2.exit()

 

posted @ 2018-08-07 17:09  睡觉了嘛  阅读(186)  评论(0编辑  收藏  举报