python 借助stmplib发送邮件

python 借助stmplib发送邮件
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
import smtplib
class SendEmail(object):
    """发送邮件"""
    def __init__(self):
        self.from_addr= ''#来源,发送邮件的邮箱
        self.password = ''#密码
        self.to_addr = ['']#接受邮箱,可以使用多个
        self.smtp_server = 'smtp.163.com'
    def get_server(self):
        self.server=smtplib.SMTP(self.smtp_server, 25)
        self.server.set_debuglevel(1)
        self.server.login(self.from_addr, self.password)
        return self.server
    def _format_addr(self,s):
        name, addr = parseaddr(s)
        return formataddr((Header(name, 'utf-8').encode(), addr))
    def send_email(self,alarm_type,content):
        msg = MIMEText(content, 'plain', 'utf-8')
        msg['From']= self._format_addr('ProxyPoolSystem <%s>' % self.from_addr)
        msg['To'] = self._format_addr('管理员 <%s>' % self.to_addr)
        msg['Subject'] = Header(alarm_type, 'utf-8').encode()
        server=self.get_server()
        try:
            server.sendmail(self.from_addr, [self.to_addr], msg.as_string())
            server.quit()
        except:
            return "邮件发送失败"
if __name__ == '__main__':
    SendEmail().send_email('相当于标题','邮件内容')

猜你喜欢

转载自blog.csdn.net/weixin_43880277/article/details/85319937