您的位置:首页 > 编程语言 > Python开发

python发送中英文邮件

2014-04-12 16:18 176 查看
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=密码
from=wlgcsrhl@163.com
from_alias=测试邮箱
to=wlgcsrhl@163.com
subject=测试-1
message=Hello:
你收The is a test mail!

====================================================================

显示效果:





本文出自 “技术至上” 博客,请务必保留此出处http://wlgcsrhl.blog.51cto.com/4600377/1394664
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: