cmonty14
Mitglied
- Mitglied seit
- 22 Jan 2007
- Beiträge
- 378
- Punkte für Reaktionen
- 0
- Punkte
- 16
Vielen Dank!
Der Zusammenhang mit der Verwendung von Backslash wäre damit geklärt.
Die nächste Frage ergibt sich im Zusammenhang mit der Ausgabe von mail --help:
Wie wird von dem Script auf die Einstellungen des AVM Push-Service zurückgegriffen? Macht das die FB automatisch mit Angabe der Parameter -f und -t?
Oder wäre es angebracht, die Paramter zur Authentifizierung am Mailserver mittels der Parameter -m, -a und -w zu machen?
Update:
Manuelle Ausführung des Kommandos nur mit Angabe der Parameter -f und -t funktioniert.
Ist diese Coding-Modifikation korrekt:
Der Fehler
(23) Failed writing body
kommt mit diesem Coding zumindest nicht mehr.
In der Tat ist es so, dass der manuelle Aufruf
also ohne Verwendung der Parameter -f und -t funktioniert und eine Email mit dem Subject "Auto DynDNS web login fehlgeschlagen !" an den Empfänger gesendet wird, der im AVM Push-Service definiert ist.
THX
Der Zusammenhang mit der Verwendung von Backslash wäre damit geklärt.
Die nächste Frage ergibt sich im Zusammenhang mit der Ausgabe von mail --help:
Code:
root@FB7570:/var/tmp/flash# mail --help
Usage: mail {send|sendonce|enqueue} [MAILER_OPTION]...
mail {process|config|list}
usage: mailer mailer [-s subject] -f from -t to -m mailserver [-a authname [-w passwd]] -i file(s) [-r] [-d attachfile(s)]
options:
-? - print this help
-s STRING - subject. ("FRITZ!Box")
-f STRING - from. (NULL)
-t STRING - to. (NULL)
-m STRING - mailserver. (NULL)
-a STRING - authname. (NULL)
-w STRING - passwd. (NULL)
-n - no SMTP-Auth. (NOTSET)
-d STRING - attachment(s). (NULL)
-i STRING - inline part(s) - add text file(s) here. (NULL)
-r - use "multipart/related" if possible. (NOTSET)
-l - SMTP with SSL or TLS. (NOTSET)
note: please use filename extensions if possible
Wie wird von dem Script auf die Einstellungen des AVM Push-Service zurückgegriffen? Macht das die FB automatisch mit Angabe der Parameter -f und -t?
Oder wäre es angebracht, die Paramter zur Authentifizierung am Mailserver mittels der Parameter -m, -a und -w zu machen?
Update:
Manuelle Ausführung des Kommandos nur mit Angabe der Parameter -f und -t funktioniert.
Nein, die Meldung deutet darauf hin, dass nicht genug Platz zum Speichern ist.
Manchmal gibt es aber auch Meldungen, die in die falsche Richtung zeigen. In diesem Fall liegt es an der Option -q von grep. Grep beendet sich damit sofort, wenn es das gesuchte Muster gefunden hat. Damit wird auch die Pipe geschlossen, in die curl den Rest schreiben will, daher kommt diese Meldung.
Man könnte das vermeiden, indem man das Ergebnis erst in eine Datei schreibt und dann diese mit grep untersucht. Oder man kann grep ohne -q aufrufen und statt dessen die Ausgabe auf /dev/null umlenken.
Ist diese Coding-Modifikation korrekt:
Code:
curl -b $COOKIES -c $COOKIES -e "$POSTURL" -kso - -A \"$UA\" -H "Accept-Language: $AL" --url "$CHKURL" | \
[COLOR="#FF0000"]grep -E "<span>(Welcome|Hi) <b>$LOGIN</b></span>" >/dev/null 2>&1 \[/COLOR]
&& echo "Login successful" \
|| { echo >&2 "Login failed" ; mail send -s "Auto DynDNS web login fehlgeschlagen !" -f \"$MAILFROM\" -t \"$MAILTO\" ; exit 1 ;
Der Fehler
(23) Failed writing body
kommt mit diesem Coding zumindest nicht mehr.
Der Backslash führt dazu, dass die Anführungszeichen Teil des Parameters von -t sind, im Gegensatz zu den Anführungszeichen beim Parameter -f, die nicht Bestandteil des Parameters und in diesem Fall unnötig sind.
Da ich das Programm nicht verwende, kann ich nicht sagen, ob die Anführungszeichen notwendig, sinnvoll oder schädlich sind.
Das lässt sich mit einem einfachen Aufruf an der Kommandozeile überprüfen.
Noch eine Anmerkung zur Absender: home.de ist eine registrierte Domain, falls die Email nicht zustellbar ist, wird eine Rückmeldung an home.de geschickt, was vermutlich unerwünscht ist.
In der Tat ist es so, dass der manuelle Aufruf
Code:
mail send -s "Auto DynDNS web login fehlgeschlagen !"
THX
Zuletzt bearbeitet: