python实现邮件发送图表_Python实现邮件发送

发送邮件其实很简单,主要用了smtplib和email库。

要注意的是这个varifycode其实是邮箱的授权码,QQ邮箱的授权码是在邮箱设置-账号里开启IMAP后提供给你的一个固定字符串有点像uuid,163邮箱类似,不同的点在于163邮箱的授权码可以自己设定。

这份实现是我将发送邮件功能封装了个类,通过传入发送邮件的账户、账户名、授权码、接收邮件的用户名、主机地址、端口、主题和发送的内容,实现发送。可以调用result()函数获取发送结果,判断是否发送成功,失败的话错误是什么。

#/usr/bin/python

# -*- coding:utf-8 -*-

import smtplib

from email.mime.text import MIMEText

from email.header import Header

class SendMail:

errCode = ""

def __init__(self, accout, name, varifycode, reciever, host, port, maintitle, sendmessage):

self.accout = accout;

self.varifycode = varifycode;

self.reciever = reciever;

self.host = host;

self.port = port;

self.maintitle = maintitle;

self.build(sendmessage, name, maintitle)

def build(self, message, name, maintitle):

message = MIMEText(message, 'plain', 'utf-8')

message['From'] = Header(name + "<" + self.accout + ">", 'utf-8')

message['To'] = Header("<" + self.reciever + ">", 'utf-8')

subject = maintitle

message['Subject'] = Header(subject, 'utf-8')

self.sendmessage = message;

def send(self):

try:

smtpObj = smtplib.SMTP_SSL(self.host, self.port)

smtpObj.login(self.accout, self.varifycode)

smtpObj.sendmail(self.accout, self.reciever, self.sendmessage.as_string())

self.errCode = "send succeed"

except smtplib.SMTPException as e:

self.errCode.format("send err : %s"%e)

def result(self):

return self.errCode

if __name__ == "__main__":

send1 = SendMail("sender@qq.com", "sendname", "varifycode", "reciever@qq.com", "smtp.qq.com", 465, "maintitle", "send words")

send1.send()

print(send1.result())

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值