Sendmail mit Cron neu starten

Hallo,

ich habe ein script angelegt, dass automatisch einmal in der Stunde eine Internetverbindung herstellt und eMail abholt und verschickt. Vorher würde ich gerne sendmail neustarten lassen. Ich habe den Befehl rcsendmail restart in das script eingefügt und bekommen von Cron folgende Fehlerausgabe:

Shutting down SMTP port/etc/init.d/sendmail: killproc: command not found
/etc/init.d/sendmail: killproc: command not found
…failed
Initializing SMTP port (sendmail)/etc/init.d/sendmail: startproc: command not found
/etc/init.d/sendmail: startproc: command not found
…failed

Ich weiß nicht woran es liegt, denn wenn ich das script so start funktioniert es einwandfrei. Nur wenn Cron das script aufruft funktioniert es nicht. Ich lasse es als root ausführen.

Um Hilfe wäre ich sehr Dankbar,

mfg,
Felix

Hi Felix,

das Problem ist klar (siehe Fehlermeldungen), die Kommandos killporc und startproc werden nicht gefunden.

Shutting down SMTP port/etc/init.d/sendmail: killproc: command
not found
/etc/init.d/sendmail: killproc: command not found
…failed
Initializing SMTP port (sendmail)/etc/init.d/sendmail:
startproc: command not found
/etc/init.d/sendmail: startproc: command not found
…failed

Wenn das Script unter Cron läuft, sind wahrscheinlich die Umgebungsvariablen anders gesetzt (-> PATH). Abhilfe: im Script entweder den PATH aus deiner interaktiven Shell eintragen oder (vielleicht besser) die Aufrufe von killproc und startproc mit absoluten Pfadangaben versehen (zu ermitteln mit „which killproc“).

Gruß
bernhard

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

einfacherer Abhilfe: den Cronjob explizit als ROOT starten:

0 * * * * su root -c „{Skript}“ > /dev/null 2>&1

Dadurch werde die richtigen Environmenteinträge angezogen…

Grüsse

Oli

einfacherer Abhilfe: den Cronjob explizit als ROOT starten:

0 * * * * su root -c „{Skript}“ > /dev/null 2>&1

Dadurch werde die richtigen Environmenteinträge angezogen…

Komische Lösung, IMHO. Wirklich.

Hallo,

Vorher würde ich gerne sendmail neustarten lassen.

Was ist denn der Zweck einer solchen Aktion? Warum läßt Du es nicht einfach durchlaufen?

Wir sind hier doch nicht bei Windows, wo das Programm regelmäßig neu gestartet werden muß. Oder ist die Frage nach täglichem Reboot per cron Deine nächste?

Gruß,

Sebastian

Dadurch werde die richtigen Environmenteinträge angezogen…

Hi,
das glaube ich nicht so recht - es sei denn, root hat seinen PATH so gesetzt, dass alle möglichen und unmöglichen Script- und Binärverzeichnisse in seiner Reichweite liegen (was IMHO wenig ratsam ist - ich ärgere mich auch jedesmal, wenn ‚.‘ nicht Bestandteil des root-PATH ist und ich mich mal wieder vertippt habe, aber so macht man es nun mal!).

Woher soll das arme Script denn nun wissen, wo ‚killproc‘ liegt - Telepathie, weibliche Intuition?
Richtig, nur aus seinem PATH (oder durch absolute Pfadangabe).

Gruß
bernhard

Naja ich habe sendmail so konfiguriert, dass es alles ausgehenden eMails an den smtp von web.de weiterleitet, da die direckte Zustellung meistens nicht klappt. Aber komischer weise funktioniert das mit der Authentifizierung genau einmal nach dem Neustart von sendmail und dann nicht mehr. Ich hab keine Ahnung warum und da dachte, dass wäre die einfachste Lösung.

Gruß,
Felix

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Vorher würde ich gerne sendmail neustarten lassen.

Was ist denn der Zweck einer solchen Aktion? Warum läßt Du es
nicht einfach durchlaufen?

Naja ich habe sendmail so konfiguriert, dass es alles
ausgehenden eMails an den smtp von web.de weiterleitet, da die
direckte Zustellung meistens nicht klappt. Aber komischer
weise funktioniert das mit der Authentifizierung genau einmal
nach dem Neustart von sendmail und dann nicht mehr. Ich hab
keine Ahnung warum und da dachte, dass wäre die einfachste
Lösung.

Was sagen die Logdateien und wie authentifizierst Du Dich bei Web.de?

Das, was Du tust, klingt nach einer phänomenal schlechten Lösung.

Gruß,

Sebastian

Ich weiß schon, dass es ein schlechte Lösung ist, aber ich hab gedacht, es wär
die einfachste.
Also ich habe bei sendmail als smarhost smtp.web.de angegeben. Der lässt eMails
erst durch, wenn man sich vorher per pop3 angemeldet hat. In meinem Script hole
ich die eMails erst ab (melde mich also per pop3 an) und dann verschicke ich
die eMails in der Warteschlange an den smtp server.
Das klappt auch. Genau einmal und dann bekomme ich beim nächsten versuch
folgende Fehlermeldung, wenn ich den Cron Job laufen lasse:

Dialing of ippp0 triggered
fetchmail: pop3.web.de key fingerprint:
7B:92:A4:08:smiley:B:EE:BD:BF:9F:A2:E9:0C:B2:57:29:58
fetchmail: No mail for felix.werkmeister at pop3.web.de
fetchmail: No mail for tanja.werkmeister at pop3.web.de
fetchmail: No mail for ilka.werkmeister at pop3.web.de
fetchmail: No mail for werkmeister.family at pop3.web.de
fetchmail: No mail for uli.werkmeister at pop3.web.de
fetchmail: No mail for m8513930-2 at pop.kundenserver.de
Warning: Cannot use HostStatusDirectory = .hoststat: No such file or directory

Running /var/spool/mqueue/i1PHM2tt023604 (sequence 1 of 1)
… Connecting to smtp.web.de. via esmtp…
220 smtp.web.de ESMTP WEB.DE V4.99#605 Wed, 25 Feb 2004 18:21:21 +0100
>>> EHLO Eagle.welo.de
250-smtp.web.de Hello Eagle.welo.de [217.184.120.66]
250-SIZE 44739243
250-PIPELINING
250-AUTH PLAIN LOGIN
250-STARTTLS
250 HELP
>>> STARTTLS
220 OpenSSL/0.9.6beta go ahead
>>> EHLO Eagle.welo.de
250-smtp.web.de Hello Eagle.welo.de [217.184.120.66]
250-SIZE 44739243
250-PIPELINING
250-AUTH PLAIN LOGIN
250 HELP
>>> MAIL From: SIZE=2287
401 Sorry, Zugriff momentan wegen Wartungsarbeiten nicht moeglich. / Sorry,
this system is currently down for maintenance.
… Deferred: 401 Sorry, Zugriff momentan wegen
Wartungsarbeiten nicht moeglich. / Sorry, this system is currently down for
maintenance.
Closing connection to smtp.web.de.
>>> QUIT
221 smtp.web.de closing connection
ippp0 hung up

Was ich komisch finde ist, dass da steht "eMail from ". Wenns klappt steht da
die richtige eMail Adresse von web.de drin. Und auch sonst läuft sendmail
einwandfrei.

Also eMail bekomme ich dann folgende Fehlermeldung:

The original message was received at Wed, 25 Feb 2004 18:21:34 +0100
from localhost [127.0.0.1]
with id i1PHLYS2023543

----- The following addresses had permanent fatal errors -----

(reason: 501 Sorry, keine Authentifizierung. POP3 muss vorher benutzt
werden.
Fehler: 'pop3 IP-Adresse stimm…cation failed. POP3 must be used prior to
sending
mail. Error: ‚the pop3 IP address doesn’t match‘)

----- Transcript of session follows -----
… while talking to smtp.web.de.:
>>> MAIL From: SIZE=80 AUTH=
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Was ist denn der Zweck einer solchen Aktion? Warum läßt Du es
nicht einfach durchlaufen?

Naja ich habe sendmail so konfiguriert, dass es alles
ausgehenden eMails an den smtp von web.de weiterleitet, da die
direckte Zustellung meistens nicht klappt. Aber komischer
weise funktioniert das mit der Authentifizierung genau einmal
nach dem Neustart von sendmail und dann nicht mehr.

Was sagen die Logdateien und wie authentifizierst Du Dich bei
Web.de?

Ich weiß schon, dass es ein schlechte Lösung ist, aber ich hab
gedacht, es wär die einfachste.

Am Ende gar funktioniert sie nicht einmal :smile:

Also ich habe bei sendmail als smarhost smtp.web.de angegeben.
Der lässt eMails
erst durch, wenn man sich vorher per pop3 angemeldet hat. In
meinem Script hole
ich die eMails erst ab (melde mich also per pop3 an) und dann
verschicke ich
die eMails in der Warteschlange an den smtp server.
Das klappt auch. Genau einmal und dann bekomme ich beim
nächsten versuch
folgende Fehlermeldung, wenn ich den Cron Job laufen lasse:

Dialing of ippp0 triggered
fetchmail: pop3.web.de key fingerprint:
7B:92:A4:08:smiley:B:EE:BD:BF:9F:A2:E9:0C:B2:57:29:58
fetchmail: No mail for felix.werkmeister at pop3.web.de
fetchmail: No mail for tanja.werkmeister at pop3.web.de
fetchmail: No mail for ilka.werkmeister at pop3.web.de
fetchmail: No mail for werkmeister.family at pop3.web.de
fetchmail: No mail for uli.werkmeister at pop3.web.de
fetchmail: No mail for m8513930-2 at pop.kundenserver.de
Warning: Cannot use HostStatusDirectory = .hoststat: No such
file or directory

Running /var/spool/mqueue/i1PHM2tt023604 (sequence 1 of 1)

250-smtp.web.de Hello Eagle.welo.de [217.184.120.66]

Ist das eine fest IP? Eher nicht, oder?

>>> MAIL From: SIZE=2287
401 Sorry, Zugriff momentan wegen Wartungsarbeiten nicht
moeglich. / Sorry,
this system is currently down for maintenance.
… Deferred: 401 Sorry, Zugriff
momentan wegen
Wartungsarbeiten nicht moeglich. / Sorry, this system is
currently down for
maintenance.
Closing connection to smtp.web.de.

Die Fehlermeldung ist doch klar, oder? Web.de läuft leider höchstens mittelstabil.

Was ich komisch finde ist, dass da steht "eMail from
".

Das ist eine Feglermeldung, die mit leerem Envelope-From verschickt wird. Passt schon.

Also eMail bekomme ich dann folgende Fehlermeldung:

----- The following addresses had permanent fatal errors

(reason: 501 Sorry, keine Authentifizierung. POP3 muss
vorher benutzt

Die Stelle, an der dieses Problem enteht, hast Du in Deinem Log-Ausschnitt nicht gezeigt.

werden.
Fehler: 'pop3 IP-Adresse stimm…cation failed. POP3 must be
used prior to
sending
mail. Error: ‚the pop3 IP address doesn’t match‘)

Ja, da hat die POP3-Autehtifizierung vorher nicht geklappt. Warum auch immer: Web.de läßt POP-3-Abruf nicht beliebig oft zu und entsprechend bekommst Du unter Umständen keine vernünftige Authentifizierung.

Web.de als SMTP-Server zu benutzen, ist auch eine eher schlechte Idee. Stellt Dein ISP kein SMTP-Server zur verfügung? Das gehört sich eigentlich so. Oder hast Du ein verkrüppeltes Geiz-ist-geil-Angebot abgegriffen?

Ich habe ja aber pop3 vorher ausgeführ und es funktioniert ja
theoretisch auch,

Dann zeig die Logs an genau der Stelle. Und einmal da, wo es funktioniert hat.

aber eben nur einmal und dann muss ich sendmail neu starten.
Dann gehts wieder einmal. ???

Auch davon will ich Logs sehen.

Gruß,

Sebastian

Hallo,

ich hab das Problem mittlerweile gelöst. Ich habe in meiner sendmail Konfiguration folgendes noch hinzugefügt:

Define define(SMART_HOST',esmtp:smtp.web.de’)
Define define(confAUTH_MECHANISMS',PLAIN’)
Feature FEATURE(authinfo',hash /etc/mail/auth/auth-info’)

Das funktionier jetzt auch, aber nur mit meiner eMail Adresse. Ich denke, dass liegt daran, dass meine eMail als erstes mit fetchmail abgeholt werden und mein Login als erstes in der auth-info steht. Das heißt meine eMail gehen jetzt ohne Probleme raus.

Bei den restlichen bekomme ich folgende Fehlermeldung:

The original message was received at Thu, 26 Feb 2004 11:38:09 +0100
from localhost
with id i1QAc7qH006405

----- The following addresses had permanent fatal errors -----

(reason: 501 ungueltige mail-adresse / invalid mail-address)

----- Transcript of session follows -----
… while talking to smtp.web.de.:
>>> MAIL From: SIZE=1042
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Was ist denn der Zweck einer solchen Aktion? Warum läßt Du es
nicht einfach durchlaufen?

Dein Quoting ist ärgerlich. Änder das mal bitte.

ich hab das Problem mittlerweile gelöst. Ich habe in meiner
sendmail Konfiguration folgendes noch hinzugefügt:

Define define(SMART_HOST',esmtp:smtp.web.de’)
Define define(confAUTH_MECHANISMS',PLAIN’)
Feature FEATURE(authinfo',hash /etc/mail/auth/auth-info’)

Das ist besser als das SMTP-after-POP-Geraffel, wenngleich nun Dein Passwort im Klartext durchs Netz geht. Sowas ist doof.

Das funktionier jetzt auch, aber nur mit meiner eMail Adresse.

Ja, vermutlich hat Web.de Dir hier absichtlich Knüppel vor die Füße geworfen. Warum nimmst Du nicht den SMTP-Server Deines Providers?

Ich denke,

Öffentliches Denken ist erst sinnvoll, nachdem man die Grundlagen der Gedanken, in diesem Fall also die Logdateien relevant zitiert hat

The original message was received at Thu, 26 Feb 2004 11:38:09
+0100
from localhost
with id i1QAc7qH006405

----- The following addresses had permanent fatal errors

Ist das Deine Absenderadresse, die Du eingestellt hast? Vermutlich mag Web.de das nicht, wenn man mit sowas über deren Mailserver sendet. Das ist idiotisch, ja.

Warum benutzt Du Web.de als SMTP-Server eigentlich?

Gruß,

Sebastian

Hallo,

ich habe web.de benutzt, weil ich der Meinung war, dass man den gleichen nehmen muss wie pop3. Aber danke für den Tip mit dem ISP. Ich habe es jetzt mal über den smtp von 1und1 probiert. Es hat sofort beim ersten mal funktioniert. Endlich.

Danke.
mfg,
Felix