发送邮件时,附件未按照条件来选择

    for m in range(maxc):
        if mingzi==mapdf.iloc[m,0]:
           dizhi=mapdf.iloc[m,1]
           receivers = [dizhi]
           fujianming=mingzi+'.xlsx'
           # 构造附件1,传送当前目录下的文件
           att[m] = MIMEText(open('C:/Users/ylcong/Desktop/测试/newexcel.xlsx', 'rb').read(), 'base64', 'utf-8')
           att[m]["Content-Type"] = 'application/octet-stream'
           att[m]["Content-Disposition"] = 'attachment; filename=%s'%fujianming
           message.attach(att[m])

初学者,想要做到的是,在发送邮件时,按照变量选择不同附件,并按照变量命名。
最终结果如下图,问题有两个:

  1. 后面的邮件在发送的时候,带出来了前面的附件
  2. 附件没有按照fujianming这个变量来命名
    att【m】是之前构造的列表变量,想要用来存储不同的附件,是这个思路有问题吗?

    img

问题2解决了,改为bin是文件名中有中文。抄了一行代码
att[m].add_header('Content-Disposition', 'attachment', filename=('gbk','',fujianming))

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。