吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1595|回复: 18
收起左侧

[Python 转载] python发送邮件,单个、多个收件人,添加附件

[复制链接]
GLH20220313 发表于 2023-7-26 21:42
本帖最后由 GLH20220313 于 2023-7-26 21:45 编辑
# 添加附件函数
def add_att(msg, file_path, filename):
    att = MIMEText(open( file_path,'rb').read(),'base64','utf-8') # rb以二进制方式读取
    att["Content-Type"] = 'application/octet-stream'
    att.add_header('Content-Disposition', 'attachment', filename = filename)
    #将附件添加到MIMEMultipart中
    msg.attach(att)

def send_email_test():
    mail = {
        'host':'smtp.XXXXX.com',
        'user':'XXX@XXX.com',
        'password':'******'
        }
    sender = mail['user']
    receivers = '111@111.com'  #单个收件人
                # receivers = '111@111.com,222@222.com'  #多个收件人
    subject = '邮件来了'
    nickname = '我是昵称'

    message = MIMEMultipart()
    message['From'] = '%s <%s>' % (Header(nickname , 'UTF-8'), sender)
    message['To'] = Header(receivers, 'gb2312')
    message['Subject'] = Header(subject).encode()
    message['Message-id'] = email.utils.make_msgid()
    message["Accept-Language"]="zh-CN"
    message["Accept-Charset"]="ISO-8859-1,utf-8"

    msg = '''
       <html>
           <h2>Hello</h2>
       </html>
    '''
    html = MIMEText(msg, _subtype='html', _charset='UTF-8') # 发送HTML邮件
    message.attach(html)    # 添加

# 添加当前目录下附件1.xlsx作为邮件附件
    file_path = os.path.join('附件1.xlsx')  
    file_name = '邮件显示附件名.xlsx'
    add_att(message , file_path , file_name)

    smtp = smtplib.SMTP()  # 使用 SSL 连接smtp服务器,否则使用.SMTP
    smtp.connect(mail['host'], 25)  # 主机, 端口, 如果使用SSL为465, 否则 25
    smtp.login(mail['user'], mail['password'])  # 用户名, 密码

    smtp.sendmail(sender, receivers, message.as_string())  # 单个收件人
    # smtp.sendmail(sender, receivers.split(','), message.as_string())  # 多个收件人

    smtp.quit()
    print('完成邮件发生任务')

免费评分

参与人数 1热心值 +1 收起 理由
wen25 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

wangdong123wuai 发表于 2023-7-27 00:18
试试看看行不行
GMCN 发表于 2023-7-27 05:48
标题在QQ列表的QQ邮箱里,显示好像有问题,可以改成下面的
[Python] 纯文本查看 复制代码
message['From'] = formataddr((nickname, sender))
ipaint 发表于 2023-7-27 07:51
Briller 发表于 2023-7-27 08:53
这个好!感谢分享
lingwushexi 发表于 2023-7-27 09:07
谢谢分享
Marken888 发表于 2023-7-27 09:09
感谢分享!
random1 发表于 2023-7-27 09:35
学习学习
hnwang 发表于 2023-7-27 09:58
感谢分享  参考学习下
nemostar 发表于 2023-7-27 10:30
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-15 23:19

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表