-4

Pythonスクリプトを介して電子メールを自動的に送信するには、複数の添付ファイルを追加する必要があります。

Pythonスクリプティングは初めてです。だからplsは助けます。前もって感謝します..

以下はコードスニペットです。

以下のコードにどのような変更を加える必要があるか教えてください。

themsg = MIMEMultipart()
themsg['Subject'] = Subject
themsg['To'] =','.join(Email_ID)
themsg['From'] =email_from
themsg.preamble = 'I am not using a MIME-aware mail reader.\n'
msg = MIMEBase('application', 'zip')
msg.set_payload(zf_csv.read())
zf_csv.close()
msg.set_payload(zf_pdf.read())
zf_pdf.close()
Encoders.encode_base64(msg)
print 'csv attachment is'+str(os.path.basename(current_dirs+csv_to_mail))
print 'pdf attachment is'+str(os.path.basename(current_dirs+pdf_to_mail))
msg.add_header('Content-Disposition', 'attachment; filename="(%s,%s)"' %(os.path.basename(current_dirs+csv_to_mail),os.path.basename(current_dirs+pdf_to_mail))
4

2 に答える 2

3

これは例です:

msg = MIMEMultipart()
msg['Subject'] = subject
msg['From'] = from_addr
msg['To'] = COMMASPACE.join(to_addrs_list) 
msg['Date'] = formatdate(localtime = True)
msg['Cc'] = COMMASPACE.join(cc_addrs_list)
msgAlternative = MIMEMultipart('alternative')
msg.attach(msgAlternative)
msgAlternative.attach(MIMEText(content, 'plain'))

#add mutiple attachments to an Email
#attachment_paths is a list, like this:['/home/x/a.pdf', '/home/x/b.txt']
for file_path in attachment_paths:
    ctype, encoding = mimetypes.guess_type(file_path)
    if ctype is None or encoding is not None:
        ctype = dctype
    maintype, subtype = ctype.split('/', 1)
    try:
        with open(file_path, 'rb') as f:
            part = MIMEBase(maintype, subtype)
            part.set_payload(f.read())
            Encoders.encode_base64(part)
            part.add_header('Content-Disposition', 'attachment', filename=os.path.basename(file_path))
            print os.path.basename(file_path)
            msg.attach(part)
    except IOError:
         print "error: Can't open the file %s"%file_path

完全なコードがあります

于 2012-06-18T06:25:14.580 に答える
0

lamsonproject (lamsonproject.org) を使用する以外に、python を使用してメールを送信する方法を知りません。

彼らの API にはメールへの添付ファイルの追加も含まれており、メールに複数の添付ファイルを追加することを妨げるものは何もありません。MailResponse とその attach メソッドに関する API を調べるだけです。

于 2012-06-18T06:16:57.920 に答える