当前位置: 无忧屋首页 > 文章中心 > Python >

python发送邮件示例代码

来源:网络

发布人:天道酬勤

发布时间:2024-01-28

添加附件函数:

  1. def add_att(msg, file_path, filename):
  2.     att = MIMEText(open( file_path,'rb').read(),'base64','utf-8') # rb以二进制方式读取
  3.     att["Content-Type"] = 'application/octet-stream'
  4.     att.add_header('Content-Disposition', 'attachment', filename = filename)
  5.     #将附件添加到MIMEMultipart中
  6.     msg.attach(att)
发送方法:
  1. def send_email_test():
  2.     mail = {
  3.         'host':'smtp.XXXXX.com',
  4.         'user':'XXX@XXX.com',
  5.         'password':'******'
  6.         }
  7.     sender = mail['user']
  8.     receivers = '111@111.com'  #单个收件人
  9.                 # receivers = '111@111.com,222@222.com'  #多个收件人
  10.     subject = '邮件来了'
  11.     nickname = '我是昵称'
  12.     message = MIMEMultipart()
  13.     message['From'] = '%s <%s>' % (Header(nickname , 'UTF-8'), sender)
  14.     message['To'] = Header(receivers, 'gb2312')
  15.     message['Subject'] = Header(subject).encode()
  16.     message['Message-id'] = email.utils.make_msgid()
  17.     message["Accept-Language"]="zh-CN"
  18.     message["Accept-Charset"]="ISO-8859-1,utf-8"
  19.     msg = '''
  20.        <html>
  21.            <h2>Hello</h2>
  22.        </html>
  23.     '''
  24.     html = MIMEText(msg, _subtype='html', _charset='UTF-8') # 发送HTML邮件
  25.     message.attach(html)    # 添加
  26. # 添加当前目录下附件1.xlsx作为邮件附件
  27.     file_path = os.path.join('附件1.xlsx')  
  28.     file_name = '邮件显示附件名.xlsx'
  29.     add_att(message , file_path , file_name)
  30.     smtp = smtplib.SMTP()  # 使用 SSL 连接smtp服务器,否则使用.SMTP
  31.     smtp.connect(mail['host'], 25)  # 主机, 端口, 如果使用SSL为465, 否则 25
  32.     smtp.login(mail['user'], mail['password'])  # 用户名, 密码
  33.     smtp.sendmail(sender, receivers, message.as_string())  # 单个收件人
  34.     # smtp.sendmail(sender, receivers.split(','), message.as_string())  # 多个收件人
  35.     smtp.quit()
  36.     print('完成邮件发生任务')

免责声明:文中图文均系网友发布,转载来自网络,如有侵权请联系右侧客服QQ删除,无忧屋网友发布此文仅为传递信息,不代表无忧屋平台认同其观点。