Hallo Freetzer Gemeinde,
meine Fritzbox ( Firmware: 54.04.85freetz-devel-5284M, sprich aktuellste AVM Labor preview und TRUNK ) sendet keine MAILS mehr via Callmonitor.
Bis vor kurzem ging das noch ohne Probleme - da ich schon seit ein paar Jahren mir eingehende verpasste Anrufe als email an meine mailbox senden lasse. Prima feature.
Zu betonen ist, dass das PUSH MAIL der AVM Fritz SW PERFEKT geht.
also : email adresse, mail-server und passwort stimmen !!!
Ich bin der Sache nachgegangen: SSH auf fritz.box, und im laufenden system mal etwas gegrept und 'vi-ed' .
Folgendes passiert:
Durch diverse "set -x" in den betroffenen mail scripten kam ich darauf,
dass obwohl in der Fritz box wie o.a. die Mail-adressen etc vorhanden sind,
in den freetz mail scripten ( s.u.) KEINE adressen, passwort etc übernommen sind.
In /usr/bin/mail findet man:
also wird über
erst alle email infos gelöscht,
aber über
werden KEINE informationen aus der ar7.cfg in in die passenden variablen in den mail-scripten "eingelesen "!!
Die Variablen waren in den debug ausgaben die ich eingebaut habe, LEER !!!
ALSO ein blick in /usr/bin/cfg2sh zeigt:
Die Lösung liegt in allcfgconf!! Dieses programm liest wohl die /var/flash/ar7.cfg aus, die allumfassende conf-datei!!
mit den parametern von oben per hand aufgerufen:
NICHTS WIRD AUSGEGEBEN , LEERE AUSGABE !!!
obwohl errorcode 0 !!
DA LIEGT DER HUND BEGRAGEN !!!!
also /bin/allcfgconf aufgerufen mit -u und siehe da:
es gibt auch eine option -e : - output even if load error. (NOTSET)
ausprobiert mit sed zum filtern .......
e voilá: mit der -e option klappt es..
Eingefügt in mail-test scrpite, und schon sendet der callmonitor wieder mails !!
Was wurde da geändert? wo ? wann?
Warum liefert allcfgconv keinen errorcode zurück, und hat wohl doch probleme ohne die -e option ??
Hat jemand eine Idee??
Und wie kommt das -e in den offiziellen trunk??
Grüsse
tom
meine Fritzbox ( Firmware: 54.04.85freetz-devel-5284M, sprich aktuellste AVM Labor preview und TRUNK ) sendet keine MAILS mehr via Callmonitor.
Bis vor kurzem ging das noch ohne Probleme - da ich schon seit ein paar Jahren mir eingehende verpasste Anrufe als email an meine mailbox senden lasse. Prima feature.
Zu betonen ist, dass das PUSH MAIL der AVM Fritz SW PERFEKT geht.
also : email adresse, mail-server und passwort stimmen !!!
Ich bin der Sache nachgegangen: SSH auf fritz.box, und im laufenden system mal etwas gegrept und 'vi-ed' .
Folgendes passiert:
Durch diverse "set -x" in den betroffenen mail scripten kam ich darauf,
dass obwohl in der Fritz box wie o.a. die Mail-adressen etc vorhanden sind,
in den freetz mail scripten ( s.u.) KEINE adressen, passwort etc übernommen sind.
In /usr/bin/mail findet man:
Code:
config() {
[COLOR="Blue"]cfg2sh ar7 emailnotify | sed 's/^emailnotify_//'[/COLOR]
}
trap 'exit 2' HUP INT QUIT TERM
[COLOR="blue"]unset SUBJECT FROM TO MAILSERVER AUTHNAME PASSWORD ATTACHMENTS INLINES RELATED[/COLOR]
unset STARTTLS
case $1 in
send|sendonce|enqueue)
echo "TV config = $(config)"
eval "$(config)"
[COLOR="blue"]FROM=$From[/COLOR]
[COLOR="blue"]TO=$To
MAILSERVER=$SMTPServer[/COLOR]
if let "${accountname:+1}"; then
[COLOR="blue"]AUTHNAME=$accountname[/COLOR]
fi
if let "${passwd:+1}"; then
[COLOR="blue"]PASSWORD=$passwd[/COLOR]
fi
if let "${starttls:+1}"; then
[COLOR="Blue"]STARTTLS=$starttls[/COLOR]
fi
also wird über
Code:
unset SUBJECT FROM TO MAILSERVER AUTHNAME PASSWORD ATTACHMENTS
aber über
Code:
cfg2sh ar7 emailnotify | sed 's/^emailnotify_//'
werden KEINE informationen aus der ar7.cfg in in die passenden variablen in den mail-scripten "eingelesen "!!
Die Variablen waren in den debug ausgaben die ich eingebaut habe, LEER !!!
ALSO ein blick in /usr/bin/cfg2sh zeigt:
Code:
flash> head /usr/bin/cfg2sh
#! /bin/ash
cfg_cat() {
[COLOR="blue"]allcfgconv -C "$1" -c -o -[/COLOR]
}
cfg_parse() {
sed -ne '
/^[[:space:]]*[[:alnum:]][[:alnum:]_]* {/ {
s/^[[:space:]]*\([[:alnum:]][[:alnum:]_]*\).*/\1/; H; d
}
/^[[:space:]]*}[[:space:]]*$/ {
flash>
Die Lösung liegt in allcfgconf!! Dieses programm liest wohl die /var/flash/ar7.cfg aus, die allumfassende conf-datei!!
Code:
>which allcfgconv
/bin/allcfgconv
mit den parametern von oben per hand aufgerufen:
Code:
~> allcfgconv -C ar7 -c -o -
~> echo $?
0
obwohl errorcode 0 !!
DA LIEGT DER HUND BEGRAGEN !!!!
also /bin/allcfgconf aufgerufen mit -u und siehe da:
es gibt auch eine option -e : - output even if load error. (NOTSET)
ausprobiert mit sed zum filtern .......
Code:
allcfgconv -C "ar7" -c -e -o - | sed -ne '/^'"emailnotify"'[[:space:]]*{/,/^}/p'
emailnotify {
enabled = yes;
interval = monthly;
From = "\"FRITZBOX\" <[email protected]>";
To = "[email protected]";
SMTPServer = "mail.gmx.net";
accountname = "[email protected]";
passwd = "xxxxxxxxxxx";
show_eventlist = yes;
show_voipstat = no;
show_kidsstat = no;
show_onlinecntstat = yes;
show_fonstat = no;
starttls = no;
dsl_pushmail_mode = 0;
enable_incident_supportdata = no;
}
e voilá: mit der -e option klappt es..
Eingefügt in mail-test scrpite, und schon sendet der callmonitor wieder mails !!
Was wurde da geändert? wo ? wann?
Warum liefert allcfgconv keinen errorcode zurück, und hat wohl doch probleme ohne die -e option ??
Hat jemand eine Idee??
Und wie kommt das -e in den offiziellen trunk??
Grüsse
tom
Zuletzt bearbeitet: