python 发送邮件不显示附件_python发送邮件(含附件)

本文介绍了一种使用Python脚本实现Sendmail通过SMTP认证发送带附件邮件的方法。该脚本利用smtplib库连接到指定的SMTP服务器并完成身份验证过程,随后发送包含HTML正文及附件的邮件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sendmail配置smtp认证是个坑

sendmail配置smtp认证是个坑

sendmail配置smtp认证是个坑

重要的事情说三遍,好了进入正题

#!/usr/bin/env python

#coding=utf-8

import sys

import smtplib

from email.mime.multipart import MIMEMultipart

#from email.mime.image import MIMEImage

from email.mime.text import MIMEText

mail_host = "smtp.exmail.qq.com"

mail_user = "authuser"

mail_pass = "authpass"

mail_postfix = "site.com"

mail_to = sys.argv[1]

mail_from = sys.argv[2]

mail_subject = sys.argv[3]

mail_content = sys.argv[4]

mail_att_address = sys.argv[5]

def send_mail(mail_to, sub, content):

msg = MIMEMultipart('related')

#msg = MIMEText(content, _subtype='html', _charset='gb2312')

msg['Subject'] = sub

msg['From'] = mail_from

msg['To'] = mail_to + "@" + mail_postfix

try:

# 邮件正文

msgBody = MIMEText('Hi','html','utf-8')

msg.attach(msgBody)

# 邮件附件

att = MIMEText(open(mail_att_address, 'rb').read(), 'base64', 'utf-8')

att["Content-Type"] = 'application/octet-stream'

att["Content-Disposition"] = 'attachment; filename='+ mail_to + '.png"'

msg.attach(att)

s = smtplib.SMTP_SSL(mail_host)

#s.set_debuglevel(1)

s.login(mail_user, mail_pass)

s.sendmail(mail_from, mail_to + "@" + mail_postfix, msg.as_string())

s.close()

return True

except Exception, e:

print str(e)

return False

if __name__ == '__main__':

if send_mail(mail_to, mail_subject, mail_content):

#print 0

sys.exit(0)

else:

sys.exit(1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值