OPT_SNDMAIL ist ein einfacher Mailer für ein paar kleine nützliche Aufgaben.
Einfach die Verzeichnisse opt doc config check in die Basisverzeichnis kopieren.
Im config Verzeichnis die sndmail.txt editieren und die Einträge nach
den persönlichen Bedürfnissen anpassen.
Das Script versteht vier Befehle:
- sndmail.sh -newpip
Hier wird die aktuelle IP and den in der sndmail.txt angegebenen Empfänger gesendet.
- sndmail.sh -call %d %t %p %m
%d = Datum , %t=Zeit , %p=Nummer %m=MSN
Hier wird ein ankommender Anruf den in der sndmail.txt angegebenen Empfänger gesendet.
Dieser Befehl macht aber nur Sinn, wenn er über den TELMOND aus dem Packet OPT_ISDN
aufgerufen wird, da erst der TELMOND die Variablen an das Script übergibt. Das kann man erreichen, in dem man folgende Änderungen
in der telmond Konfiguration einfügt:
OPT_TELMOND='yes' |
# start telmond: yes or no |
TELMOND_CMD_N='1' |
# no. of commands to be executed if call-in |
TELMOND_CMD_1='4711 * /usr/local/bin/sndmail.sh -call %d %t %p %m' |
|
Das bewirkt, das alle ( * ) einkommenden Anrufe an die MSN 4741, per E-Mail versendet werden.
Wird zusätzlich die Option SNDMAIL_CALL_PHONEBOOK auf "yes" gesetzt, versucht sndmail.sh die
Telefonnummer des Anrufenden anhand des Telefonbuches (in etc/phonebook) zu identifizieren.
ACHTUNG!!!
Wenn im Abschnitt Generic circuit in der Base Konfiguration DIALMODE='auto' steht, wird automatisch eine
Verbindung zum Internet aufgebaut.
- sndmail.sh -free Von An Betreff Text
Mit dem Parameter -free ist es möglich, direkt eine E-Mail zu versenden. Unabhängig von den
Eintragungen in der config.txt (außer POP- und SMTP Server).
- sndmail.sh -syslog
Die Syslogdatei (definiert in $SYSLOGD_DEST) wird and den in der sndmail.txt angegebenen Empfänger gesendet.
Bei der Option SNDMAIL_SYSLOG='yes' wird die Syslogdatei alle (in SNDMAIL_SYSLOG_CYCLE_TIME='86400' festgelegt) x Sekunden verschickt.
Beispiel:
Will man erreichen, daß der Router beim Anruf von einer bestimmten Nummer (z.B. Handy) Online
geht, und eine E-Mail mit der aktuellen IP versendet, ist folgendes in der isdn.txt im Abschnitt telmond einzutragen:
OPT_TELMOND='yes' |
# start telmond: yes or no |
TELMOND_CMD_N='1' |
# no. of commands to be executed if call-in |
TELMOND_CMD_1='4711 0171123456 sleep 5; imonc dial; /usr/local/bin/sndmail.sh -newip' |
|
Das bewirkt, das beim Anruf von 0171123456 an die MSN 4711, der Router 5 Sekunden wartet, eine
Verbindung zum Internet aufbaut (
auch bei DIALMODE=off) und dann eine E-Mail mit der aktuellen
IP versendet.
Hinweise:
Hierzu ist es notwendig, daß die Rufnummer vom Anrufer übertragen wird. Auch sollte man eine eventuelle 0,
wie sie manchmal bei einer Telefonanlage notwendig ist, nicht vergessen.
Den sleep 5 kann man, falls man dann via DSL Online geht, natürlich weglassen.
Wie man sieht kann man noch ganz andere Dinge mit sndmail.sh bewirken, das bleibt ganz eurer
Fantasie überlassen.
Mit der Einstellung OPT_SNDMAIL='yes' wird das SNDMAIL-Packet aktiviert.
Soll das Packet nicht verwendet werden, kann mit mit der Einstellung OPT_SNDMAIL='no' das
Packet ignoriert werden.
Standard-Einstellung: OPT_SNDMAIL='yes'
SNDMAIL_IP='yes'
mit dieser Einstellung wird bei jeder Einwahl (neuen Verbindung) die neue
IP-Adresse automatisch an die mit
SNDMAIL_TO eingestellten E-Mail
Adressen versendet. Möchte man diese Funktion nicht verwenden, so ist
SNDMAIL_IP='no' einzustellen.
SNDMAIL_IP_SUBJECT='new ip'
Hiermit kann der Betreff in der Mail für die neue IP-Adresse vorgegeben werden. Ist dieser leer, dann
steht im Betreff die IP-Adresse.
SNDMAIL_IP_TEXT='fli4l wieder online'
Hier kann noch ein Text zu der neuen IP-Adresse mitgesendet werden.
SNDMAIL_CALL='no'
Hiermit wird vorgegeben ob SNDMAIL eingehende Anrufe via Mail an die in
SNDMAIL_TO
eingetragenen Adressen senden soll.
SNDMAIL_CALL_SUBJECT='eingehender Anruf'
Hier wird der Betreff dieser Mail angegeben.
SNDMAIL_CALL_TEXT='folgender Nummern haben angerufen'
Genau wie bei
SNDMAIL_IP_TEXT kann hier wieder ein zusätzlicher Text angegeben werden.
SNDMAIL_CALL_PHONEBOOK='no'
Falls im Verzeichnis /etc/phonebook ein Telefonbuch existiert, versucht SNDMAIL den Eintrag dort zu finden und
den Teilnehmer zu identifizieren.
SNDMAIL_SYSLOG='no'
Mit diesem Parameter wird eingestellt ob die Systemlogs an die mit
SNDMAIL_TO eingetragenen
E-Mail Adressen versendet werden sollen oder nicht. Hierzu ist in der
base.txt (Basiskonfiguration)
OPT_SYSLOGD='yes' einzustellen und beim
SYSLOGD_DEST der Pfad zum Syslogfile
einzutragen. Beispiel:
SYSLOGD_DEST_1='*.* /usr/local/syslogs/messages'
SNDMAIL_SYSLOG_CYCLE_TIME='86400'
Hier wird der Wert in Sekunden eingetragen, in welchen Abständen die Logdatei automatisch gesendet werden soll. Bleibt der Eintrag
leer, wird automatisch alle 24 Stunden die Logdatei gesendet. Voraussetzung ist die Einstellung SNDMAIL_SYSLOG='yes'.
Zudem wird in diesem Abstand die Logdatei geleert.
SNDMAIL_USER='mailuser'
Benutzername für POP und SMTP also der Name für Euren e-mail Zugang beim Provider.
SNDMAIL_WAIT_SERVER_RESP='1'
Wartezeit für SMTP Serverantwort.
SNDMAIL_PASSWORD='password'
Hier wird das Password für den E-Mail Zugang beim Provider eingegeben.
SNDMAIL_POPCHECK='no'
Manche Freemail Anbieter verlangen einen POP Check bevor Sie SMTP Kommandos (mails) annehmen.
Dies lässt sich mit diesem Parameter einstellen.
SNDMAIL_POP='pop.t-online.de'
Hier ist die POP Serveradresse anzugeben, also der Server bei dem normalerweise die Mails abgeholt werden.
Bitte keine Missverständnisse, SNDMAIL kann keine Mails holen.
SNDMAIL_PPORT='110'
Diese Einstellung erlaubt es, den Port für POP anzugeben. Allerdings wird dieser in den meisten Fällen 110 sein.
SNDMAIL_SMTP='mailto.t-online.de'
Hier nun die SMTP Server Adresse des Providers, als Beispiel hier T-Online.
SNDMAIL_SPORT='25'
Diese Einstellung erlaubt es, den Port für SMTP anzugeben. Allerdings wird dieser in den meisten Fällen 25 sein.
SNDMAIL_FM='ron.sommer@t-online.de'
Angabe über die eigene e-mail Adresse.
SNDMAIL_TO_N='1'
Parameter für die Anzahl der E-Mail Adressen, an die gesendet werden soll.
SNDMAIL_TO_1='johann@depp.de'
Erste E-Mail Adresse an die gesendet werden soll. Alle weiteren werden in der selben Form angegeben. Anstelle
der Eins wird natülich dann die Nummerierung fortgesetzt.