前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python3 发送邮件功能

python3 发送邮件功能

作者头像
AnRFDev
发布2021-02-01 15:18:38
3260
发布2021-02-01 15:18:38
举报
文章被收录于专栏:AnRFDevAnRFDev

发信邮箱是腾讯企业邮箱。开发环境 Windows7。

主要使用smtplib来实现发邮件的功能。

简单的发送邮件功能

代码语言:javascript
复制
# 发送邮件
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText


def send_email():
    fromaddr = "from1@your_email.com" # 你的发件邮箱
    toaddr = "to1@your_email.com" # 目标邮箱
    msg = MIMEMultipart()
    msg['From'] = fromaddr
    msg['To'] = toaddr
    msg['Subject'] = "SUBJECT OF THE MAIL"

    body = "YOUR MESSAGE HERE"
    msg.attach(MIMEText(body, 'plain'))

    server = smtplib.SMTP('smtp.exmail.qq.com', 25) # 默认端口25
    server.starttls()
    server.login(fromaddr, "xxxx密码")
    text = msg.as_string()
    server.sendmail(fromaddr, toaddr, text)
    server.quit()


if __name__ == '__main__':
    print('start sending email')
    send_email()
    print('end...')

邮件带上附件

Windows下注意文件路径的表达方式。

代码语言:javascript
复制
# 发送邮件
import smtplib
from email import encoders
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText


def send_email(from_email, pwd, target_email_list=[], attachment_file_list=[]):
    """
    单独发送邮件
    create on 2018-11-14
    :param from_email: 源邮箱
    :param pwd: 源邮箱密码
    :param target_email_list:  目标邮件列表
    :param attachment_file_list:  附件路径列表
    :return: void
    """
    if len(target_email_list) <= 0:
        print('ERR: 目标邮件列表为空 -> 退出')
        return

    for target_email in target_email_list:
        print('sending to ' + target_email)
        msg = MIMEMultipart()
        msg['From'] = from_email
        msg['To'] = target_email
        msg['Subject'] = "更新"

        body = '''尊敬的客户,
    你好,请查收文件。
谢谢!
        '''
        msg.attach(MIMEText(body, 'plain'))

        for file_path in attachment_file_list:
            filename = str(file_path).split('\\')[-1]
            print("file_path " + file_path + " filename: " + filename)
            attachment = open(file_path, "rb")

            part = MIMEBase('application', 'octet-stream')
            part.set_payload(attachment.read())
            encoders.encode_base64(part)
            part.add_header('Content-Disposition', "attachment; filename= %s" % filename)

            msg.attach(part)

            server = smtplib.SMTP('smtp.exmail.qq.com', 25)
            server.starttls()
            server.login(from_email, pwd)
            text = msg.as_string()
            server.sendmail(from_email, target_email, text)
            server.quit()


if __name__ == '__main__':
    print('start sending email')
    send_email(from_email="your_email.com",
               pwd="密码",
               target_email_list=["target1@foxmail.com", "target2@qq.com"],
               attachment_file_list=[
                   r"E:\your_path.rar"])
    print('end...')

参考:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-11-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简单的发送邮件功能
  • 邮件带上附件
相关产品与服务
腾讯企业邮
腾讯企业邮(Tencent Exmail)是腾讯基于多年海量用户邮件系统研发和运营经验,为企业量身订造的一套办公用邮箱系统。稳定、简洁和快速,整合了丰富的企业应用,涵盖资源共享、消息发布、组织管理等方面。腾讯企业邮和微信生态深度整合,为您提供便捷高效的移动邮件解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档