使用python发送邮件
准备工作
1、python环境、 2、含有使用的模块smtplib,email 3、设置好对应邮箱的pop3、SMTP,一般设置方式在:设置-账户里,找到开启就行,这里要记录邮箱的授权码,一个邮箱可以有多个授权码,
代码部分
参考:https://zhuanlan.zhihu.com/p/24180606
class Mail:
def __init__(self):
self.mail_host = "smtp.163.com"
self.mail_pass = "********"
self.sender = '18****8@163.com'
self.receivers = ['1****@163.com']
def send(self):
content = '你要发送的邮件内容'
message = MIMEText(content, 'plain', 'utf-8')
message['From'] = Header("发件人名字,可自由填写", 'utf-8')
message['To'] = Header("收件人名字,可自由填写", 'utf-8')
subject = '一个python的测试消息'
message['Subject'] = Header(subject, 'utf-8')
try:
smtpObj = smtplib.SMTP(self.mail_host, 25)
smtpObj.login(self.sender, self.mail_pass)
smtpObj.sendmail(self.sender, self.receivers, message.as_string())
smtpObj.quit()
print('邮件发送成功')
except smtplib.SMTPException as e:
print('邮件发送失败')
if __name__ == '__main__':
mail = Mail()
mail.send()
POP3、SMTP及IMAP区别
参考:https://help.mail.163.com/faqDetail.do?code=d7a5dc8471cd0c0e8b4b8f4f8e49998b374173cfe9171305fa1ce630d7f67ac21b87735d7227c217 POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本 SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。 IMAP全称是Internet Mail Access Protocol,即交互式邮件存取协议,它是跟POP3类似邮件访问标准协议之一。
163和126的端口和协议一样,只是将服务器地址中的126和136不同
注意,程序中的命令要和对应的协议和端口号对应,smtplib.SMTP或smtplib.SMTP_SSL
qq邮箱
好像qq邮箱只有ssl协议的访问 SSL协议(Secure Socket Layer,安全套接层)是由网景(Netscape)公司推出的一种安全通信协议 参考:https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=369&&id=28 ,https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=167&&id=28
|