1. 程式人生 > >python 藉助stmplib傳送郵件

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('相當於標題','郵件內容')