[Python] Mail über Mailx mit Attachment (Anhang)

KRiusd

KRiusd

Jungspund
Hallo zusammen,

ich soll über ein Python-Script eine Mail versenden die im Anhang ausgewählte Dateien eines Ordners enthält! Das ganze soll mit Mailx laufen!

- Die Dateinamen die zu versenden sind stehen in einer Liste (filesToSend)
- Der Pfad zu den Dateien steht in einer Varibale (sendDirPath)
- Subject der Mail, Mailtext und Empfänger stehen ebenfalls in Variablen (mSub, mText, mTo)

Habe schon bischen was ausprobiert:
1. os.popen("(cat "+mText+"; uuencode "+sendDirPath+"/"+filesToSend[1]+" "+filesToSend[1]+") | mailx -s ' "+mSub+" ' "+mTo)

2. os.popen("mailx -s ' "+mSub+" ' "+mTo+" <<-EOF Textblabla ~<! uuencode "+sendDirPath+"/"+filesToSend[1]+" "+filesToSend[1]+" ~. EOF")

Allerdings funktioniert es so nicht! ?(
Hat jemand schon einmal ähnliche Probleme gehabt und vielleicht ein Lösung?


Vielen Dank schon mal

KRiusd
 
OK hab nochmal weiterprobiert:

os.system("uuencode sendDirPath+"/"+filesToSend[1]+" "+filesToSend[1]+" |mailx -s ' "+mSub+" ' "+mTo)

Nach ausfüllen der Variablen steht dann da:
os.system("uuencode /home/username/dokumente/datei.png datei.png |mailx -s 'Testsubject' **********")

Ich bekomme als Meldung: uuencode: ISO8859-1 to 646 conversion: Invalid argument

Ich hab keine Ahnung woran es liegen könnte!
Kennt jemand die fehlermeldung bzw. hat jemand eine Ahnung was zu tun ist?

Bitte helft mir!

Grüße KRiusd
 
hmmm....
mit mailx tut man doch mit der option -a eine datei anhängen.
korrekt müsste dann doch die syntax heissen:
os.system("echo "email test hier" | mailx -s 'Testsubject' ********** -a /home/username/dokumente/datei.png")

bei mir funtzt der befehl so....
 
Da sagt er mir aber: "Mail: illegal option -- a"

Ich steig grad echt nicht mehr durch!
 
du benutzt doch mailx und nicht mail oder?

Usage: mailx [-BFintv~] [-s subject] [-a attachment] [-c cc-addr] [-b bcc-addr] [-r from-addr] [-h hops] [-R reply-addr] to-addr ... [- sendmail-options ...]
mailx [-BeHiInNv~] [-T name] -f [name]
mailx [-BeinNv~] [-u user]
 
Ja benutze mailx allerdings zeigt er mir auf der man-Page auch keine option -a an!

Ich muss das Programm bei mir im Geschäft schreiben für meine Ausbildung und ich weis nicht ob das bei uns deaktiviert worden ist!

Kann man Optionen deaktivieren?
 
ok dann könnte es an der version liegen!

Ich arbeite auf einer SunOS Maschiene! Kann natürlich sein das es dort die Option -a noch nicht gibt!

Ich mach mich da morgen mal bei unseren Experten schlau ob es diese Option bei uns gar nicht gibt oder sie nur deaktiviert worden ist wenn das überhaupt möglich ist! :D

Trotzdem erstmal vielen Dank!
 
Also hab mal geschaut!

Auf unseren Servern (SunOS) gibt es die Option wirklich nicht!
Auf den lokalen Rechnern auf denen ich Entwickle schon!

Hab das Script mal auf lokal laufen lassen mit diesem Befehl:

os.system("echo 'Test' | mailx -s 'Hier steht der Betreff' ********** -a /home/user/dokumente/test.png")

Auf dem lokalen rechner gibt es nun zwar die Option -a, aber ich bekomme nicht die Datei als Attachment sondern nur den Pfad der Datei als Text angezeigt.

Liegt das jetzt an unserem Mailprogramm (Lotus Notes 5) ?
Oder liegt das wieder an der Version von Mailx?
 
Und noch ein Versuch:

os.system("(cat body.txt; uuencode bild.png bild.png) | mailx -s 'Testsubject' **********")

Problem: uuencode sagt mir: 'ISO8859-1 to 646 conversion: Invalid argument' ?(

Was bedeutet das?
Konnte im Netz nichts für mich verständlich klingendes finden!

Grüße KRiusd
 

Ähnliche Themen

E-Mail mit Anhang mailx

E-Mails mit mutt versenden (HTML und PDF gleichzeitig)

E-Mail Empfang, Aliases unter Debian Squeeze

E-Mail versenden - sendmail Minimal Konfiguration

Probleme mit Mails

Zurück
Oben