Ich versuche, eine xlsx-Datei an meine E-Mail anzuhängen. Ich suchte nach Lösungen und es beinhaltet die Verwendung von email.encoders. Aber wenn ich diese Lösung verwende, erhalte ich einen Fehler. Ich verwende eine Lösung, an der jemand anderes arbeitet.Objekt hat kein Attribut 'encode'
File "C:\Documents and Settings\Desktop\AppTera\dev\MTC_test\MTC_sender.py", line 41, in sendmail
s.sendmail(FROMADDR, TOADDR, message.as_string())
AttributeError: 'list' object has no attribute 'encode'
def sendmail():
SERVER = 'server.com'
FROMADDR = "[email protected]"
TOADDR = ['[email protected]']
CCADDR = ['[email protected]']
message = MIMEMultipart('mixed')
message['From'] = FROMADDR
message['To'] = TOADDR
message['Subject'] = "Reporting for IVR Application"
BODY = "Hello Angela,\n\nI'm attaching the reports for %s/%s. These are the same reports\
you have requested in the past.\n\nPlease let me know if you need any additional reports.\n\n\
Thank you"% (str(MONTH), str(YEAR))
message.attach(MIMEText(BODY, 'plain'))
filename = "results.csv.xlsx"
path = r'C:\Documents and Settings\Desktop\MonthlyReports\MTC\%s_%s' % (str(YEAR), str(MONTH))
os.chdir(path)
fileMsg = MIMEBase('application', 'xlsx')
fileMsg.set_payload(open('results.csv.xlsx', 'rb').read())
encoders.encode_base64(fileMsg)
fileMsg.add_header('Content-Disposition','attachment;filename=results.csv.xls')
message.attach(fileMsg)
s = smtplib.SMTP(SERVER, 25)
s.set_debuglevel(1)
s.sendmail(FROMADDR, TOADDR, message.as_string())
s.quit()
Gibt es eine andere Möglichkeit, dass ich eine angehängte Datei zusammen mit einem Körper Nachricht senden kann?
Ich spielte mit Ihrem Code ein bisschen herum, und es funktioniert, wenn 'TOADDR' eine einfache Zeichenfolge anstelle einer Liste ist. Die Doktoren sagen, dass es eine Liste sein kann, also weiß ich nicht, warum das passiert. –
Danke, das hat den Job gemacht. – FatFockFrank