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

python发送邮件(含附件)

2015-10-16 12:05 513 查看
sendmail配置smtp认证是个坑

sendmail配置smtp认证是个坑

sendmail配置smtp认证是个坑

重要的事情说三遍,好了进入正题

#!/usr/bin/env python
#coding=utf-8

import sys
import smtplib
from email.mime.multipart import MIMEMultipart
#from email.mime.image import MIMEImage
from email.mime.text import MIMEText

mail_host = "smtp.exmail.qq.com"
mail_user = "authuser"
mail_pass = "authpass"
mail_postfix = "site.com"

mail_to = sys.argv[1]
mail_from = sys.argv[2]
mail_subject = sys.argv[3]
mail_content = sys.argv[4]
mail_att_address = sys.argv[5]

def send_mail(mail_to, sub, content):
msg = MIMEMultipart('related')
#msg = MIMEText(content, _subtype='html', _charset='gb2312')
msg['Subject'] = sub
msg['From'] = mail_from
msg['To'] = mail_to + "@" + mail_postfix

try:
# 邮件正文
msgBody = MIMEText('<b>Hi</b>','html','utf-8')
msg.attach(msgBody)

# 邮件附件
att = MIMEText(open(mail_att_address, 'rb').read(), 'base64', 'utf-8')
att["Content-Type"] = 'application/octet-stream'
att["Content-Disposition"] = 'attachment; filename='+ mail_to + '.png"'
msg.attach(att)

s = smtplib.SMTP_SSL(mail_host)
#s.set_debuglevel(1)
s.login(mail_user, mail_pass)
s.sendmail(mail_from, mail_to + "@" + mail_postfix, msg.as_string())
s.close()
return True
except Exception, e:
print str(e)
return False

if __name__ == '__main__':
if send_mail(mail_to, mail_subject, mail_content):
#print 0
sys.exit(0)
else:
sys.exit(1)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: