zoukankan      html  css  js  c++  java
  • python发送邮件

    1、python发送普通文本邮件

    import smtplib  
    from email.mime.text import MIMEText  
    mailto_list=["YYY@YYY.com"] #设置收件人
    mail_host="XXX.XXX.com"  #设置服务器
    mail_port=xxx #设置服务器端口号 mail_user="XXX" #用户名 mail_pass="XXXX" #口令
    def send_mail(to_list,sub,content): #to_list:收件人;sub:主题;content:邮件内容 me="XXX.XXX.com"#设置发件人 msg = MIMEText(content,_subtype='html',_charset='UTF-8') #创建一个实例,这里设置为html格式邮件 msg['Subject'] = sub #设置主题 msg['From'] = me msg['To'] = ";".join(to_list) try: s = smtplib.SMTP() s.connect(mail_host,mail_port) #连接smtp服务器,mail_port默认为25 s.login(mail_user,mail_pass) #登陆服务器 s.sendmail(me, to_list, msg.as_string()) #发送邮件 s.close() return True except Exception, e: print str(e) return False if __name__ == '__main__': if send_mail(mailto_list,"hello","python发送出来的邮件"): print "发送成功" else: print "发送失败"

    2、python发送html格式邮件

    import smtplib  
    from email.mime.text import MIMEText  
    mailto_list=["YYY@YYY.com"] #设置收件人
    mail_host="XXX.XXX.com"  #设置服务器
    mail_port=xxx  #设置服务器端口号
    mail_user="XXX"    #用户名
    mail_pass="XXXX"   #口令 
      
    def send_mail(to_list,sub,content):  #to_list:收件人;sub:主题;content:邮件内容
        me="XXX.XXX.com" #设置发件人
        msg = MIMEText(content,_subtype='html',_charset='gb2312')    #创建一个实例,这里设置为html格式邮件
        msg['Subject'] = sub    #设置主题
        msg['From'] = me  
        msg['To'] = ";".join(to_list)  
        try:  
            s = smtplib.SMTP()  
            s.connect(mail_host,mail_port)  #连接smtp服务器,端口号默认为25
            s.login(mail_user,mail_pass)  #登陆服务器
            s.sendmail(me, to_list, msg.as_string())  #发送邮件
            s.close()  
            return True  
        except Exception, e:  
            print str(e)  
            return False  
    if __name__ == '__main__':  
        if send_mail(mailto_list,"hello","<a href='http://www.baidu.com'>百度一下</a>"):  
            print "发送成功"  
        else:  
            print "发送失败"  

     3、发送带正文和附件的邮件

    #coding=utf-8
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    import smtplib
    
    #创建一个带附件的实例
    msg = MIMEMultipart()
    
    #构造邮件正文内容,注意构造邮件正文只能有一个
    #注意正文部分一定要放在第一位置,如果放在后面构造附件代码的后面attach,那么就会变成附件内容处理
    contentText= MIMEText("这是带有附件的邮件,详情见附件") #貌似可省略subtype和charset设置也能正常显示,最好加上咯
    msg.attach(contentText)
    
    #构造邮件正文内容,可读取文件内容作为正文
    #contentText1 = MIMEText(open('D:\test\login.html', 'rb').read(), _subtype='html',_charset='utf-8')
    #msg.attach(contentText1 )
    
    #构造附件1
    att1 = MIMEText(open('D:\test\login.html', 'rb').read(), 'base64', 'utf-8')
    att1["Content-Type"] = 'application/octet-stream'
    att1["Content-Disposition"] = 'attachment; filename="login.html"'#这里的filename可以任意写,实际上是在邮件中这个附件显示的文件名
    msg.attach(att1)
    
    #构造附件2
    att2 = MIMEText(open('D:\BugReport.txt', 'rb').read(), 'base64', 'gb2312')
    att2["Content-Type"] = 'application/octet-stream'
    att2["Content-Disposition"] = 'attachment; filename="BugReport.txt"'  #这里的filename可以任意写,实际上是在邮件中这个附件显示的文件名
    msg.attach(att2)
    
    
    
    #加邮件头
    msg['to'] = 'XXX@rd.com'
    msg['from'] =  'XXX@rd.com'
    msg['subject'] = 'hello world'
    #发送邮件
    try:
        server = smtplib.SMTP()
        server.connect('exchange-3.rd.com',25)#默认端口号也是25
        server.login('XXX','XXXXX')#XXX为用户名,XXXXX为密码
        server.sendmail(msg['from'], msg['to'],msg.as_string())
        server.quit()
        print '发送成功'
    except Exception, e:  
        print str(e) 
  • 相关阅读:
    一张图片入门Python
    4.1. 如何在Windows环境下开发Python
    你必须知道的EF知识和经验
    XUnit的使用
    如何使用NUnit
    Entity Framework 不支持DefaultValue
    Have You Ever Wondered About the Difference Between NOT NULL and DEFAULT?
    Validation failed for one or more entities. See 'EntityValidationErrors' property for more details
    Entity Framework 与多线程
    sqlite中的自增主键
  • 原文地址:https://www.cnblogs.com/pachongshangdexuebi/p/5293178.html
Copyright © 2011-2022 走看看