
Wenn ich die Ausgabe von printf an mail weiterleite, wird die E-Mail nicht gesendet. Wenn ich die Ausgabe in eine Datei schreibe und die Eingabe aus der Datei umleite, funktioniert es.
Ich habe beispielsweise ein Bash-Skript mit folgendem:
printf "\nsending email.\n" | /usr/bin/mail -s "email test 1" [email protected]
printf "\nsending email\n" > /tmp/email-test
/usr/bin/mail -s "email test 2" [email protected] < /tmp/email-test
E-Mail-Test 2 wird zugestellt, E-Mail-Test 1 jedoch nicht.
Die Symptome treten zeitweise auf. Manchmal gehen beide E-Mails raus. Manchmal schlägt die mit der Pipe fehl.
Unabhängig davon, ob einer oder beide ausfallen, erhalte ich für beide Protokollzeilen, die ungefähr so aussehen:
Nov 17 07:39:10 boxtop3 postfix/smtp[12749]: 9A7032C23C5: to=<[email protected]>, orig_to=<[email protected]>, relay=smtp.gmail.com[64.233.177.109]:587, delay=1.7, delays=0.04/0/1.1/0.58, dsn=2.0.0, status=sent (250 2.0.0 OK 1573994350 z127sm6991417ywb.38 - gsmtp)
Nov 17 07:39:10 myserver postfix/qmgr[12702]: 9A7032C23C5: removed
Meine E-Mails werden von GMail sowohl für mydomain.com als auch für mydomain.org gehostet. Es sieht so aus, als ob GMail zeitweise einige meiner E-Mails verwirft. Warum?
Verwendung:
- GNU Bash, Version 4.4.20(1)-Release
- Postfix 3.3.0-1ubuntu0.2
- mail (GNU Mailutils) 3.4
Antwort1
Es stellt sich heraus, dass mit beiden E-Mail-Befehlen alles in Ordnung ist. Jeder von ihnen sendet die Nachricht zuverlässig bei jeder Ausführung, wie in /var/log/mail angezeigt.
Meine E-Mail wird gesendet an[email geschützt], das von GMail gehostet wird. [email geschützt]hat eine Regel, alles weiterzuleiten an[email geschützt].
Die fehlenden Nachrichten finden Sie im Postfach für[email geschützt]. Sie werden nicht geliefert an[email geschützt]. Aus einem unbekannten Grund kann GMail einige meiner Nachrichten nicht weiterleiten oder nicht zustellen. Es gibt weitere E-Mails, die nicht weitergeleitet/zugestellt werden können – diese Nachrichten sind einfach die ersten, die mir aufgefallen sind.