Automatischer E-Mail versand
Automatischer E-Mail versand
HALLO!
Folgendes soll realisiert werden.
E-Mail Server bzw. SMTP Versand wenn möglich.
Wir müssen mehrere PDF's per E-Mail versenden, die PDFS müssen aber immer in einer E-Mail mit gesendet werden es kann daher sein das wir z.b mehrere E-Mails senden aber mit verschiedenen PDF's also folgendes beispiel.
- Wir laden die PDF in das Verzeichnis /Mailhauptverzeichnis/kunde1
Dann laden wir für die zweite Sendung weitere Pdfs hoch in /Mailhauptverzeichnis/kunde2
Das "Script" erkennt im "Mailhaupverzeichnis" die verschiedenen Unterverzeichnisse und sendet dann je verzeichnis die Mail raus.
Dazu kommt dass das Script wenn möglich per SMTP senden sollte, wenn nicht möglich dann sendmail.
Und dieses Script soll bereits einen Text hinterlegt bekommen welcher immer im E-Mail Text steht.
z.b Text: hallo, a und b, herzlich willkommen. (Anhang PDF aus dem verzeichnis /Mailhauptverzeichnis/Kunde1)
Ich hoffe man versteht was ich meine..
Folgendes soll realisiert werden.
E-Mail Server bzw. SMTP Versand wenn möglich.
Wir müssen mehrere PDF's per E-Mail versenden, die PDFS müssen aber immer in einer E-Mail mit gesendet werden es kann daher sein das wir z.b mehrere E-Mails senden aber mit verschiedenen PDF's also folgendes beispiel.
- Wir laden die PDF in das Verzeichnis /Mailhauptverzeichnis/kunde1
Dann laden wir für die zweite Sendung weitere Pdfs hoch in /Mailhauptverzeichnis/kunde2
Das "Script" erkennt im "Mailhaupverzeichnis" die verschiedenen Unterverzeichnisse und sendet dann je verzeichnis die Mail raus.
Dazu kommt dass das Script wenn möglich per SMTP senden sollte, wenn nicht möglich dann sendmail.
Und dieses Script soll bereits einen Text hinterlegt bekommen welcher immer im E-Mail Text steht.
z.b Text: hallo, a und b, herzlich willkommen. (Anhang PDF aus dem verzeichnis /Mailhauptverzeichnis/Kunde1)
Ich hoffe man versteht was ich meine..
Re: Automatischer E-Mail versand
Ich habe nun was, was mich zwar nicht ganz zufrieden stellt aber dennoch schon in die richtung geht:
Wobei dieses Script noch nicht die korrekte PDF im Anhang versendet..
Und ich weiß nicht ob der auch dann einfach leere Briefe versendet wenn keine PDF vorhanden ist.
Code: Alles auswählen
#!/bin/bash
echo "## POST - Mailsend ##"
Variable="$(date +%d.%m.%Y) $(date +%k:%M) Uhr"
echo "LogFiles werden nun gepackt!"
/tmp/rechnung1/* >/dev/null 2>&1 echo "Email wird vorbereitet!"
cat /tmp/rechnung1/*.pdf | mail -s Briefversand meine@mail.com
echo "POST wurden per Anhang versandt!"
sleep 200
# rm -rf /tmp/rechnung1/*.pdf
echo "Exit now ..."
exit 0
Und ich weiß nicht ob der auch dann einfach leere Briefe versendet wenn keine PDF vorhanden ist.
Re: Automatischer E-Mail versand
Was fuer eine Implementierung von mail(1) hast du? Heirloom-mailx z.B. kennt den Parameter `-a' fuer Attachments.
Use ed once in a while!
Re: Automatischer E-Mail versand
Mein weiterer Fortschritt:
Nur habe ich jetzt das Problem das ich keinen Zeilenumbruch in meinem E-Mail Text "schreiben" kann.
Aber auch keine TXT Datei includen kein (mangel wissen)
Code: Alles auswählen
#!/bin/bash
echo "## Mailsend ##"
Variable="$(date +%d.%m.%Y) $(date +%k:%M) Uhr"
#
echo mein Text | nail -s 'Briefversand' -a /tmp/rechnung1/*.pdf -r ab@sender.de em@pfänger.de
#
echo ".. der Brief wurde versenden ......+.+.++.+..+.+.++...++"
sleep 500
# rm -rf /tmp/rechnung1/*.pdf
echo "CU ..."
exit 0
Aber auch keine TXT Datei includen kein (mangel wissen)
Re: Automatischer E-Mail versand
Ich habe nun das echo weg genommen und direkt ein cat angewendet, dass scheint nun zu funktionieren.
Re: Automatischer E-Mail versand
So es scheint jetzt alles so zu funktionieren wie ich es mir gedacht hatte.
Und ich brauche nicht eure hilfe, aber wenn jemand auf die Idee kommt das selbe vor zu haben bitte:
Das Script versendet keine E-Mail wenn er keine Files gefunden hat.
Datei für die Bash anlegen.
Cronjob:
##### PR #####
*/15 * * * * /tmp/pix/sendm1.sh >> /dev/null
-> hier bitte euren Pfad angeben wo ihr eure .sh hinterlegt habt!
Auf wiedersehen.
Und ich brauche nicht eure hilfe, aber wenn jemand auf die Idee kommt das selbe vor zu haben bitte:
Das Script versendet keine E-Mail wenn er keine Files gefunden hat.
Datei für die Bash anlegen.
Code: Alles auswählen
#!/bin/bash
echo "## Mailsend ##"
cat /tmp/pix/meinnachrichtentext.txt | nail -s 'Briefversand' -a /tmp/pix/rechnung1/*.pdf -r ab@sender.de emp@fänger.de
echo "E-Mail wurde versendet"
sleep 25
rm -rf /tmp/pix/rechnung1/*.pdf
echo "CU ..."
exit 0
##### PR #####
*/15 * * * * /tmp/pix/sendm1.sh >> /dev/null
-> hier bitte euren Pfad angeben wo ihr eure .sh hinterlegt habt!
Auf wiedersehen.
Re: Automatischer E-Mail versand
Du kannst den Nachrichtentext mit einem Here-Doc auch einbetten:
Code: Alles auswählen
#!/bin/bash
echo "## Mailsend ##"
nail -s 'Briefversand' -a /tmp/pix/rechnung1/*.pdf -r ab@sender.de emp@fänger.de <<!
Irgendwelcher Text
in mehreren Zeilen
wird interpraetiert
als staende er in
Double-Quotes.
Z.B. Hallo $USER,
jetzt ist `date`
!
echo "E-Mail wurde versendet"
sleep 25
rm -rf /tmp/pix/rechnung1/*.pdf
echo "CU ..."
exit 0
Use ed once in a while!
Re: Automatischer E-Mail versand
Hi,
danke! Bringt aber nicht so viel weil unser Script mehrmals ausgeführt werden muss also hinterlege ich nur eine txt datei woraus er sich immer den text zieht weil dieser öfter geändert wird.
Aber dennoch funktioniert es doch nicht so ganz.
Ich kann immer nur ein File hinterlegen aber nicht alle files im Verzeichnis, jemand eine Idee?
danke! Bringt aber nicht so viel weil unser Script mehrmals ausgeführt werden muss also hinterlege ich nur eine txt datei woraus er sich immer den text zieht weil dieser öfter geändert wird.
Aber dennoch funktioniert es doch nicht so ganz.
Ich kann immer nur ein File hinterlegen aber nicht alle files im Verzeichnis, jemand eine Idee?
Re: Automatischer E-Mail versand
Du musst fuer jede Datei ein `-a' einfuegen. Das kannst du mit einer Schleife oder mit sed machen.cisco1812 hat geschrieben:Aber dennoch funktioniert es doch nicht so ganz.
Ich kann immer nur ein File hinterlegen aber nicht alle files im Verzeichnis, jemand eine Idee?
Use ed once in a while!
Re: Automatischer E-Mail versand
Wie genau kann das aussehen mit der schleife?
Das können manchmal bis zu 20 Datein sein, dass ist schon ein wenig aufwendig da immer -a -a -a -a -a a.. hinter zu schreiben..
Das können manchmal bis zu 20 Datein sein, dass ist schon ein wenig aufwendig da immer -a -a -a -a -a a.. hinter zu schreiben..
Re: Automatischer E-Mail versand
Nach diesem Prinzip:cisco1812 hat geschrieben:Wie genau kann das aussehen mit der schleife?
Das können manchmal bis zu 20 Datein sein, dass ist schon ein wenig aufwendig da immer -a -a -a -a -a a.. hinter zu schreiben..
Code: Alles auswählen
for i in *.pdf ; do
files="$files -a \"$i\""
done
Use ed once in a while!
Re: Automatischer E-Mail versand
Sorry, soweit bin ich noch nicht.. ich kann damit nichts anfangen
Re: Automatischer E-Mail versand
@all: Wer uebernimmt?cisco1812 hat geschrieben:Sorry, soweit bin ich noch nicht.. ich kann damit nichts anfangen
Use ed once in a while!
Re: Automatischer E-Mail versand
Ich
Ich hab das "problem" jetzt mit MUTT gelöst.
Welches anscheint doch einfacher zur handhabung ist.
mutt empfänger@gmail.com -b CC@gmail.com -a /tmp/pix/log/*.txt -s "Script1" </tmp/pix/emailtext.txt
Ich hab das "problem" jetzt mit MUTT gelöst.
Welches anscheint doch einfacher zur handhabung ist.
mutt empfänger@gmail.com -b CC@gmail.com -a /tmp/pix/log/*.txt -s "Script1" </tmp/pix/emailtext.txt