-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathauto_email.py
29 lines (24 loc) · 1.02 KB
/
auto_email.py
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
import smtplib
from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
class AutoEmail():
def __init__(self, username, password, smtp_server='smtp.163.com'):
self.username = username
self.password = password
self.smtp_server = smtp_server
self.server = smtplib.SMTP(self.smtp_server, 25)
self.server.set_debuglevel(1)
self.server.login(self.username, self.password)
@staticmethod
def _format_addr(s):
name, addr = parseaddr(s)
return formataddr((Header(name, 'utf-8').encode(), addr))
def send(self, receiver, msg):
msg = MIMEText(msg, 'plain', 'utf-8')
msg['From'] = self._format_addr(f"Auto Email <{self.username}>")
msg['To'] = self._format_addr(f"Luckky <{receiver}>")
msg['Subject'] = Header('Your program is finished', 'utf-8').encode()
self.server.sendmail(self.username, [receiver], msg.as_string())
self.server.quit()