Mein Python-Skript (wie folgt) kann einen ".txt" -Anhang senden, aber leider hat der empfangene Anhang das "\ n" verloren, also sind alle Zeilen zusammen was mein Spaltenformat ruinierte. Kann mir bitte jemand helfen? Danke vielmals!Python-E-Mail-Anhang verliert Zeilenende-Ende " n"
msg['From'] = send_from
msg['To'] = COMMASPACE.join(send_to)
msg['Date'] = formatdate(localtime=True)
msg['Subject'] = 'Subject of Email4'
mailbody = "This is the content of Email4"
msg.attach(MIMEText(mailbody))
with open("regresult.txt", "r") as fil:
part = MIMEApplication(
fil.read(),
Name=basename("regresult.txt")
)
part['Content-Disposition'] = 'attachment; filename="%s"' % basename('regresult.txt')
msg.attach(part)
Update: Die ursprüngliche Datei (in Remote-Unix-Server mit VIM geöffnet) ist wie folgt: original file format
Das empfangene Dateiformat ist wie folgt: received
können Sie den resultierenden Anhangstext anzeigen? und der ursprüngliche Text? –
Ich denke, das Problem ist mit der Textdatei selbst. Der obige Code ist ziemlich geradlinig. 'MIMEApplication' codiert die Textdatei einfach mit base64 und der E-Mail-Client, der die E-Mail anzeigt, entschlüsselt sie, keine Komplikationen. Ich hatte einige Probleme mit dem Öffnen von Textdateien in Windows und die neuen Zeilenzeichen fehlten für mich. Probieren Sie 'unix2dos' oder' dos2unix' aus, bevor Sie die .txt-Datei anfügen. – gixxer
@joelgoldstick, ich kann nur Bilder der beiden Formate hochladen. Der Ort zum Hochladen der TXT-Datei wurde nicht gefunden. – leoking87