File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # -*- coding: utf-8 -*-
2+
3+ from email import encoders
4+ from email .header import Header
5+ from email .mime .text import MIMEText
6+ from email .utils import parseaddr , formataddr
7+
8+ import smtplib
9+
10+ def _format_addr (s ):
11+ name , addr = parseaddr (s )
12+ return formataddr (( \
13+ Header (name , 'utf-8' ).encode (), \
14+ addr .encode ('utf-8' ) if isinstance (addr , unicode ) else addr ))
15+
16+ from_addr = raw_input ('Gmail: ' )
17+ password = raw_input ('Password: ' )
18+ to_addr = raw_input ('To: ' )
19+ smtp_server = 'smtp.gmail.com'
20+ smtp_port = 587
21+
22+ msg = MIMEText ('hello, send by Python...' , 'plain' , 'utf-8' )
23+ msg ['From' ] = _format_addr (u'Python爱好者 <%s>' % from_addr )
24+ msg ['To' ] = _format_addr (u'管理员 <%s>' % to_addr )
25+ msg ['Subject' ] = Header (u'来自SMTP的问候……' , 'utf-8' ).encode ()
26+
27+ server = smtplib .SMTP (smtp_server , smtp_port )
28+ server .starttls ()
29+ server .set_debuglevel (1 )
30+ server .login (from_addr , password )
31+ server .sendmail (from_addr , [to_addr ], msg .as_string ())
32+ server .quit ()
You can’t perform that action at this time.
0 commit comments