python发送中英文邮件
python发送中英文邮件
#!/usr/bin/python
# -*- coding: utf-8 -*-
from email.MIMEText import MIMEText
from email.Header import Header
import smtplib
import ConfigParser
class Mail:
def __init__(self,Mail_host,Mail_user,Mail_pass,From,From_alias,To,Subject,Message):
self.Mail_host=Mail_host
self.Mail_user=Mail_user
self.Mail_pass=Mail_pass
self.To=To
self.From=From
self.From_alias=From_alias
self.Subject=Subject
self.Message=Message
def SendMail(self):
Messages="\n\t".join(self.Message.split('\n'))
msg=MIMEText(Messages,_charset="utf-8")
msg['TO'] = self.To
msg['FROM'] = self.From_alias+"<"+self.From+">"
msg['SUBJECT'] = Header(self.Subject,"utf-8")
To_List = self.To.split(",")
try:
mail=smtplib.SMTP()
except Exception:
print "request fail!"
try:
mail.connect(self.Mail_host)
except Exception:
print "connect fail!"
try:
mail.login(self.Mail_user,self.Mail_pass)
except Exception:
print "authentication failed!"
mail.sendmail(self.From,To_List,msg.as_string())
mail.close()
class Config:
def Read_config(self):
config=ConfigParser.ConfigParser()
config_file=open('E-config.ini','r')
config.readfp(config_file)
host=config.get('Mail','host')
user=config.get('Mail','user')
passwd=config.get('Mail','pass')
from_mail=config.get('Mail','from')
from_alias=config.get('Mail','from_alias')
to_mail=config.get('Mail','to')
subject=config.get('Mail','subject')
message=config.get('Mail','message')
config_file.close()
rc=Mail(host,user,passwd,from_mail,from_alias,to_mail,subject,message)
rc.SendMail()
if __name__ == '__main__':
FS=Config()
FS.Read_config()
读取的配置文件:
[Mail]
host=smtp.163.com
user=用户名
pass=密码
[email protected]
from_alias=测试邮箱
[email protected]
subject=测试-1
message=Hello:
你收The is a test mail!
====================================================================
显示效果:
转载于:https://blog.51cto.com/wlgcsrhl/1394664