Remote_host_said:_501_Syntax_error_in_parameters_or_arguments/

  • Hallo,


    bei root ist ein cronjob, welcher eine Ausgabe erzeugt, dadurch verschickt cron eine Mail an root@…


    Bei /var/qmail/alias/.qmail-postmaster und /var/qmail/alias/.qmail-root ist eine web.de Adresse eingetragen.

    Die Mail wird von web.de abgelehnt, da die Zeile zu lang ist. qmail verschickt daraufhin eine Mail an anonymous@s6.example.org mit dem Absender <>, da es diese Mail nicht gibt, verschickt qmail eine Mail an postmaster@s6.example.org mit dem Absender <#@[]>, welche dann an web.de weitergeleitet wird, web.de lehnt diese Mail dann mit "501_Syntax_error_in_parameters_or_arguments" ab

    Warum wird die Ursprungsmail mit dem Absender anonymous@s6.example.org verschickt und die weiteren Mails mit dem Absender <> und dann sogar mit <#@[]>?


    mfg

    Twilo

  • Der initiale Fehler ist ja

    qmail: 1720927249.021560 delivery 147: failure: 212.227.15.17_failed_after_I_sent_the_message./Remote_host_said:_501_Syntax_error_-_line_too_long/

    Diesen sollte man weiter analysieren und beheben. Welcher Cronjob erzeugt diese Mail? Wie sieht die Mail aus?

    Warum wird die Ursprungsmail mit dem Absender anonymous@s6.example.org verschickt und die weiteren Mails mit dem Absender <> und dann sogar mit <#@[]>?

    Ich denke die erzeugte Mail kann hier mehr Details liefern.

    Die weiteren Mails sind wahrscheinlich Bounces. Der erste Absender "<>" ist typisch für eine lokale Bounce Mail.

  • Ich habe bei einem neuen Server, wie bei allen anderen Servern, bei allen Croneinträgen das >/dev/null und 2>/dev/null entfernt


    Hatte aber vergessen bei dem Eintrag 16 5 * * * nice -n 19 /var/qmail/bin/update_tmprsadh das nach fold zu pipen 16 5 * * * nice -n 19 /var/qmail/bin/update_tmprsadh 2>&1 |fold -w 80



    ja, die erste Mail war das Problem, aber Rückläufer können immer mal vorkommen.

  • Hatte aber vergessen bei dem Eintrag 16 5 * * * nice -n 19 /var/qmail/bin/update_tmprsadh das nach fold zu pipen 16 5 * * * nice -n 19 /var/qmail/bin/update_tmprsadh 2>&1 |fold -w 80

    Jetzt weiß man zumindest welcher Cronjob bzw. welches Skript ausgeführt wird. Das Skript selbst generiert keine Mail. Setzt also keinen Absender.


    Ich kann das Problem bei mir nicht reproduzieren. Ich selbst setze Oracle Linux 8 mit der SE 8 ein. Bei mir werden Mails mit root@hostname versandt.

    qmail: 1720927248.742383 new msg 34603176

    qmail: 1720927248.742421 info msg 34603176: bytes 28662 from <anonymous@s6.example.org> qp 665884 uid 0

    qmail: 1720927248.743296 starting delivery 146: msg 34603176 to local root@s6.example.org

    Die Initiale Mail setzt ja bereits anonymous@ als Absender. Wäre also die Frage woher da kommt. Scheint mir nicht generell so zu sein. Vielleicht Mal ein

    Code
    MAILFROM=

    im crontab setzen?

  • Ich vermute mal, dass der "Return-Path" das Problem ist.


    Ich habe mal bei 4 Server nachgeschaut, bei allen gibt die Zeile Return-Path: <anonymous@s6.example.org>

  • Ich vermute mal, dass der "Return-Path" das Problem ist.

    Die Frage ist eben woher das kommt. Ich habe bei mir im crontab

    Code
    MAILFROM=
    MAILTO=

    gesetzt. Entsprechend sehen Mails so aus

    Wenn ich das MAILTO und MAILFROM raus nehme sieht die Zustellung ähnlich wie bei Ihnen aus:

    Aber eben auch nur ähnlich. Bei mir wird kein anonymous@ verwendet, sondern ebenfalls root@

    Ich habe mal bei 4 Server nachgeschaut, bei allen gibt die Zeile Return-Path: <anonymous@s6.example.org>

    Alle vier Server mit dem gleichen Betriebssystem? :/ Irgendwas müssen die vier Server ja gemeinsam haben, was bei meinem Server nicht so ist. Ich kenne das so, dass der Return-Path vom Client (oder Skript) gesetzt wird. In dem Fall wäre der Client ja Cron. Was passiert denn wenn man einmal "MAILFROM" im crontab setzt?

  • Alle verwenden Debian, getestet unter

    12 Bockworm

    11 Bullseye

    10 Buster

    8 Jessie

    7 Wheezy (hier hatte ich noch alte Cron Mails gefunden, auch da war es so)


    wenn ich MAILFROM= oder MAILTO=verwende, erhalte ich folgende Fehlermeldung:

    Code
    crontab: installing new crontab
    "/tmp/crontab.zvmP8h/crontab":24: bad minute
    errors in crontab file, can't install.
    Do you want to retry the same edit? (y/n)

    es geht nur so

    Code
    MAILFROM=…
    MAILTO=…
    
    * * * * * echo Test

    Die Variablen müssen also einen Wert haben.


    Mit den gesetzten Variablen sieht es wie folgt aus:

    example.org ist der HOST, example.com die Kundendomain, die auf dem HOST liegt

  • Egal, ob MAILFROM und MAILTO gesetzt sind, es wird immer mit anonymous@example.org die Mail verschickt.

    Code
    Jul 17 14:16:01 example.org qmail-smtpd: qmail-smtpd/VC started
    Jul 17 14:16:01 example.org qmail: 1721218561.605166 new msg 1039966
    Jul 17 14:16:01 example.org qmail: 1721218561.605267 info msg 1039966: bytes 515 from <anonymous@example.org> qp 1888134 uid 1024
    Jul 17 14:16:01 example.org qmail: 1721218561.609485 starting delivery 323: msg 1039966 to local xxx@example.org
    Jul 17 14:16:01 example.org qmail: 1721218561.609507 status: local 1/10 remote 0/20
    Jul 17 14:16:01 example.org qmail: 1721218561.613605 delivery 323: success: did_1+0+0/
    Jul 17 14:16:01 example.org qmail: 1721218561.613638 status: local 0/10 remote 0/20
    Jul 17 14:16:01 example.org qmail: 1721218561.613646 end msg 1039966