创作人 Leo
编辑时间 Wed Jan 1,2020 at 10:13
mail_smtp.py
# -*- coding: utf-8 -*-
import smtplib
class mail_smtp :
smtp_addr = ''
username = ''
password = ''
from_addr = ''
to_addrs = []
cc_addrs = []
subject = ''
content = ''
server = None
def __init__(self, smtp_addr, username, password):
self.smtp_addr = smtp_addr
self.username = username
self.password = password
self.connect()
def connect(self) :
self.server = smtplib.SMTP(self.smtp_addr)
self.server.login(self.username, self.password)
def setFrom(self, from_addr) :
self.from_addr = from_addr
def setTo(self, to_addrs) :
self.to_addrs = to_addrs
def setCc(self, cc_addrs) :
self.cc_addrs = cc_addrs
def setContent(self, subject, content) :
self.subject = subject
self.content = content
def getMessage(self) :
msg = "From: {_from}\r\n".format(_from=self.from_addr)
msg = msg + "To: {_to}\r\n".format(_to=", ".join(self.to_addrs))
if self.cc_addrs :
msg = msg + "Cc: {_cc}\r\n".format(_cc=", ".join(self.cc_addrs))
msg = msg + "Subject: {_subject}\r\n".format(_subject=self.subject)
msg = msg + "\r\n"
msg = msg + self.content
return msg
def send(self) :
to_addrs = self.to_addrs + self.cc_addrs
msg = self.getMessage()
self.server.sendmail(self.from_addr, to_addrs, msg)
def close(self) :
self.server.quit()
使用示例:
# -*- coding: utf-8 -*-
from mail_smtp import mail_smtp
ms = mail_smtp('smtp.qq.com', 'admin@mycompany.com', 'L123456')
ms.setFrom('admin@mycompany.com')
ms.setTo(['sss@126.com','aaa@126.com'])
ms.setCc(['xxx@126.com'])
ms.setContent('python mail test', 'python mail test ok')
ms.send()
ms.close()