Python实现发送邮件


发送正文,附件文档和附件图片

# -*- coding: UTF-8 -*-
#引入相关的模块
import smtplib
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.header import Header
from email.mime.multipart import MIMEMultipart
#发送给以下两个邮箱,有列表存储
mailto_list=["xxxxxx@qq.com","xxxxxx@qq.com"]
#邮箱服务器,126邮箱是smtp.126.com
mail_host="smtp.126.com"
#发件人邮箱
mail_user="yangcheng@126.com"
#发件人邮箱密码
mail_pass="123456"
#封装成一个函数
def mail_send(to_list,content):
    try:
        #服务器名,SMTP默认端口号25
        server=smtplib.SMTP(mail_host,25)
        #登陆
        server.login(mail_user,mail_pass)

        message=MIMEMultipart()

        #正文
        msg=MIMEText(content,"plain","utf-8")
        message.attach(msg)

        #附件文档
        attr1=MIMEText(open("C:\\Users\\Administrator\\Desktop\\name.txt","rb").read(),"base64","utf-8")
        attr1["Content-Type"]="application/octet-stream"
        attr1["Content-Disposition"]='attachment;filename="name.txt"'
        message.attach(attr1)

        #附件图片
        image1=MIMEText(open("C:\\Users\\Administrator\\Desktop\\1.jpg","rb").read(),"base64","utf-8")
        image1["Content-Type"]="application/octet-stream"
        image1["Content-Disposition"]='attachment;filename="1.jpg"'
        image1.add_header("Content-ID","<image1>")
        message.attach(image1)


        message["From"]="yangcheng@126.com"
        subject="Python SMTP 邮件测试"
        message["Subject"]=Header(subject,"utf8").encode()
        to_addr="xxxxxx@qq.com"
        message["To"]=Header(u"xxxxxx@qq.com")
        server.sendmail("yangcheng@126.com",to_list,message.as_string())
        server.close()
        return True
    except Exception,e:
        print str(e)
        return False
content="hello,my name is Jack,this is send by python program!"
if __name__=="__main__":
    if mail_send(mailto_list,content):
        print "发送成功!"
    else:
        print "发送失败!"


















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值