使用python实现发送邮件方法

高洛峰
发布: 2017-03-20 11:14:56
原创
1701人浏览过

这篇文章介绍使用python实现发送邮件方法 

法语写作助手
法语写作助手

法语助手旗下的AI智能写作平台,支持语法、拼写自动纠错,一键改写、润色你的法语作文。

法语写作助手 31
查看详情 法语写作助手
# coding=utf-8
登录后复制
import smtplib
from time import sleep
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
登录后复制
def send_email(**param):
    '''
    发送邮件
    author:cdq
    :param param:{"username":"","password":"","from_addr":"","to_addr":"","smtpserver":"","subject":"","file_path":""}
    :file_path=文件路径
    :return:
    '''
    error = ""
    flag = True
    try:
        # from conf_isms.adconf import local_host_ip
        if not param['is_send']:
            flag = False
        msg = MIMEMultipart()

        content = '<span>您好:</span><br><span style="text-indent: 2em;">' \
                  '    数据报表已发至邮箱,请您查看</span><br><span>' \
                  '              祝您生活愉快!<span>'
        body = MIMEText(content, _subtype="html", _charset="utf-8")
        msg.attach(body)
        if isinstance(param['file_path'], list):
            for m in param['file_path']:
                att = MIMEText(open(m, 'rb').read(), 'base64', 'utf-8')
                file_name = m.split('/')[-1]
                att["Content-Type"] = 'application/octet-stream'
                att["Content-Disposition"] = 'attachment; filename="%s"' % file_name.encode('gbk')  # 防止下载文件名乱码
                msg.attach(att)
        msg['to'] = ';'.join(param['to_addr'])
        msg['from'] = param['from_addr']
        msg['subject'] = param['subject']
        sm = smtplib.SMTP(param['smtpserver'], port=25)
        # sm.set_debuglevel(1)
        sm.ehlo()
        sm.starttls()
        sm.ehlo()
        sm.login(param['username'], param['password'])
        sm.sendmail(param['from_addr'], param['to_addr'], msg.as_string())
        sleep(5)
        sm.quit()
        print "%s  send successfully" % param['file_path']
        flag = True
    except Exception, ex:
        traceback.print_exc()
        print "send Failed "
        flag = False
        error = "error %s" % str(ex)
    finally:
        return flag, error
登录后复制

以上就是使用python实现发送邮件方法 的详细内容,更多请关注php中文网其它相关文章!

相关标签:
python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号