1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
import smtplib,sys,configparser from email.mime.text import MIMEText from email.header import Header from email.utils import formataddr from email import utils
class MailUtils():
def set_user(self,user,password,host,port,nick): self._user = user self._password = password self._host = host self._port = port self._nick = nick
def print_config(self): print(self._user,self._password)
def _send_mail(self,receiver,subject,content,fmt='plain'): ''' fmt(format):plain/html return:true/false '''
message = MIMEText(content, fmt, 'utf-8') message['From'] = formataddr([self._nick,self._user]) message['To'] = formataddr(['To',receiver]) message['Subject'] = Header(subject, 'utf-8')
try: server = smtplib.SMTP() server.connect(self._host,self._port) server.login(self._user,self._password) server.sendmail(self._user, [receiver], message.as_string()) print("email send successful.") except smtplib.SMTPException as e: print("email send failed. >> ",e) return False finally: server.quit() return True def send_html_mail(self,receiver,subject,content): self._send_mail(receiver,subject,content,fmt='html')
def send_text_mail(self,receiver,subject,content): self._send_mail(receiver,subject,content,fmt='plain')
def send_to_multi(self,receivers,subject,content,fmt='plain'): message = MIMEText(content, fmt, 'utf-8') message['From'] = formataddr([self._nick,self._user]) message['To'] = formataddr(['你的昵称',u','.join(receivers)]) message['Subject'] = Header(subject, 'utf-8')
try: server = smtplib.SMTP() server.connect(self._host,self._port) server.login(self._user,self._password) server.sendmail(self._user, receivers, message.as_string()) print("email send successful.") except smtplib.SMTPException as e: print("email send failed. >> ",e) return False finally: server.quit() return True
|