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

    使用python发邮件

    网上有很多发邮件的例子,本人在网上找了一份,稍加修改后使用

    上源码

    # encoding=utf-8
    
    from email.mime.image import MIMEImage
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText
    from email.header import Header
    import smtplib 
    
    class SendEmail:
        def __init__(self, host, user, passwd):
            lInfo = user.split("@")
            self._user = user
            self._account = lInfo[0]
            self._me = self._account + "<" + self._user + ">" 
    
            server = smtplib.SMTP()  
            server.connect(host)  
            server.login(self._account, passwd)
            self._server = server      
          
        def sendTxtMail(self, to_list, sub, content, subtype='html', displayName=''):  
            msg = MIMEText(content, _subtype=subtype, _charset='utf-8')        
            msg['Subject'] = Header(sub, 'utf-8')
            if displayName == '':
                msg['From'] = self._me
            else:
                msg['From'] = Header(displayName, 'utf-8').__str__() + " <" + self._user + ">"
            msg['To'] = ";".join(to_list)  
            try:
                self._server.sendmail(self._me, to_list, msg.as_string())   
                return True  
            except Exception, e:  
                print str(e)  
                return False
    

    主要说下我改动的地方,我这想在发送邮件中带有自己定义的名称,所以在发送函数中最后加了一个参数,使用传入的名称与原邮箱地址拼在一起,放入From字段中,就可以使收件人看到我定义的名称了

    需注意的地方是,给From字段赋值时,最好按邮件标准格式进行编码,即使用email.Header进行编码,然后使用__str__()方法取得编码后的字符串,最后再拼上邮箱地址

    另外,给Subject字段赋值时直接使用了Header对象,是因为我在赋值时并未处理字符串,可直接传给Subject使用。最后再啰嗦一句,我直接给Subject赋普通字符串,邮件发过去后一查邮件源文件,竟也是编码后的,。。。,无语

  • 相关阅读:
    给View设置多个Tag
    Android studio 编译报错 Error:Error converting bytecode to dex:
    ViewPager设置自适应
    华为手机播放视频时seekBar拖不动
    Android studio 导入Eclipse项目 Vitamio播放器报错
    多线程Bug
    时间选择器,不同系统版本差异的解决办法
    Django测试pytest
    Nginx
    docker
  • 原文地址:https://www.cnblogs.com/fatterbetter/p/4224294.html
Copyright © 2011-2022 走看看