Pythonでメールを送る(明文/SSL/TSの3つの方式)
#!/usr/bin/python
# coding:utf-8
import smtplib
from email.MIMEText import MIMEText
from email.Utils import formatdate
from email.Header import Header
import sys
# UTF8
default_encoding = 'utf-8'
if sys.getdefaultencoding() != default_encoding:
reload(sys)
sys.setdefaultencoding(default_encoding)
# ,
smtpHost = 'smtp.126.com'
smtpPort = '25'
sslPort = '587'
fromMail = '[email protected]'
toMail = '[email protected]'
username = 'zhangsan'
password = '123456'
#
subject = u'[Notice]hello'
body = u'hello,this is a mail from ' + fromMail
#
encoding = 'utf-8'
mail = MIMEText(body.encode(encoding),'plain',encoding)
mail['Subject'] = Header(subject,encoding)
mail['From'] = fromMail
mail['To'] = toMail
mail['Date'] = formatdate()
try:
# smtp , /SSL/TLS , SMTP
# ,
smtp = smtplib.SMTP(smtpHost,smtpPort)
smtp.ehlo()
smtp.login(username,password)
#tls , , , smtp
#smtp = smtplib.SMTP(smtpHost,smtpPort)
#smtp.set_debuglevel(True)
#smtp.ehlo()
#smtp.starttls()
#smtp.ehlo()
#smtp.login(username,password)
# ssl , ,
#smtp = smtplib.SMTP_SSL(smtpHost,sslPort)
#smtp.ehlo()
#smtp.login(username,password)
#
smtp.sendmail(fromMail,toMail,mail.as_string())
smtp.close()
print 'OK'
except Exception as e:
print e
転載先:http://www.litvip.com/572/