PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sendmail: Versand dauert ewig !



e-networld
15.02.05, 07:51
Hallo zusammen,

ich habe einen Server mit RedHat 9. Sendmail (8.12.8) ist so konfiguriert, das alle Emails an einen 2. Server weitergeleitet werden, was soweit auch funktioniert. Jedoch dauert es quälend lange bis eine Mail verschickt wird. Der Verbindungsaufbau scheint schuld zu sein. Genau weiß ich es aber nicht. Der Mailserver ist auch im lokalen Netzwerk. Teilweise dauert das Verschicken über 1 Minute. Da ich auf dem Server ein Forum betreibe, ist es den Usern nicht zuzumuten beispielsweise bei der Registrierung immer so lange warten zu müssen.

Ich hoffe jemand kann mir helfen !

Danke !

marce
15.02.05, 08:50
wird der 2. Server per Name oder per IP angesprochen?

mkahle
15.02.05, 08:52
<Glaskugel on>
- entweder DNS-Problem
- Anfragen an Port "auth" werden nicht rejected sondern gedroppt
<Glaskugel off>

e-networld
15.02.05, 08:55
Der 2. Server wird per IP angesprochen. Eine Namensauflösung klappt zumindest über nslookup. Hier wird über die eingetragenen DNS-Server der Name sofort aufgelöst.

marce
15.02.05, 09:06
und wenn Du von der Konsole aus eine Mail verschickst, dann geht's genau so lang?

e-networld
15.02.05, 09:16
Das dauert nicht lange. Man kommt sofort zurück.

marce
15.02.05, 09:20
versteh ich das richtig:

wenn man an der Konsole eine Mail nach extern verschickt, dann geht's schnell
wenn man in der Anwendung (vermutlich über php oder perl) eine Mail nach extern verschickt, dass geht's lang

e-networld
15.02.05, 09:34
Das ist korrekt.

ich versteh es nicht. Ich hab ein watch auf /var/log/maillog offen. Schickt man eine Email per mail aus der Konsole, kommt man sofort nach dem senden zurück und erst später erscheinen die Ausgaben in /var/log/maillog. Schickt man jedoch über PHP eine Email so kommt man erst wieder zurück, nachdem alle Meldungen im maillog ausgegeben sind.

marce
15.02.05, 09:42
das klingt dann aber eher nach einenm php / apache - Problem als nach einem sendmail-Problem...

was läuft denn an Versionen auf der Kiste?

e-networld
15.02.05, 09:48
An Versionen läuft folgendes:

Apapche: 2.0.40-21
PHP: 4.2.2-17

marce
15.02.05, 09:51
Ok, beim 2er-Apache bin ich raus ;-)

eine Mail direkt per php-Script an der Konsole verschicken, was passiert dann (also ohne den Apachen "mit drin")?

e-networld
15.02.05, 10:03
Hab ich ebend probiert. Das ganze dauerte ewig. Liegt also anscheinend an PHP. Und nun ? Updaten und hoffen das es besser ist ?

marce
15.02.05, 10:08
naja, upgrade auf neueste Version ist ja nie schlecht bei php (security und so...)

Alternativ mal die config checken - weiss gerade aber auch nicht genau, ob man da expliziert was eingeben kann (ok, sendmail-path und optionen, da _könnte_ es dran liegen)

e-networld
15.02.05, 14:07
So ich hab jetzt einmal sendmail neu erstellt in der Version 8.13.3. Alles blieb beim alten. Jetzt hab ich das ganze auch mal mit PHP 5.0.3 und PHP 4.3.10 probiert. Auch keine Veränderung. Gleichzeitig hab ich noch einen neuen Rechner mit SuSE 9.2 installiert. Sendmail, PHP und Apache drauf ... und siehe da ... das Verschicken geht rasend schnell. Tja und nun ? Der RedHat-Server ist täglich im Einsatz und kann nicht einfach neu installiert werden. Vielleicht liegt es ja an irgendeinem TCP-Dienst oder am TCP-Daemon selbst. Die Firewall ist deinstalliert, kann man also ausschließen. HILFE !

marce
15.02.05, 14:17
sind denn in der php.ini irgendwelche speziellen Parameter für das Sendmail angegeben?

Oder läuft sendmail an sich mit irgendwelchen besonderen Parametern?

e-networld
15.02.05, 14:36
In der php.ini steht der sendmail Befehl mit den Parameter "-i -t". Ansonsten läuft sendmail mit "-bd -q1h". Also alles nix besonderes. Auf dem SuSE 9.2 sind die Parameter für sendmail "-L sendmail -Am -bd -q30m -om". Das werde ich jetzt auf dem RedHat noch ausprobieren.

Jasper
15.02.05, 14:36
php versendet AFAIK direct an localhost:25, d.h. php ist ein smtp-client.
wenn man per mail über die konsole eine mail versendet, wird die mail lediglich in das spoolverzeichnis geschrieben. das problem liegt also an der kommunikation php->sendmail per smtp.
versende mal eine mail per telnet (spiele also selbst smtp-client wie php es tut).

-j

edit: post ignorieren, smtp wird von php nur bei windows verwendet.

e-networld
15.02.05, 14:49
Die Idee mit Telnet war an sich sehr gut, zumindest dient es sehr der Problemfindung. Denn: Nachdem ich mit dem Mailserver verbunden bin und ihm das Kommando des Empfängers schickte, also "RCPT To:<user@domain.tld>", dann dauert es bis der Mailserver wieder antwortet. Wobei, wenn ich in der Konsole ein Ping auf diese Domain in der Konsole absetze, dann antwortert der Server entsprechend zügig. Kann es also sein, das sendmail noch ein Problem bei Auflösen der Adresse hat ? Schicke ich eine Mail per Telnet an den lokalen Rechner, geht das schnell.

e-networld
16.02.05, 11:03
Soo ... das Problem ist gelöst.

Das einzige Problem war der fehlende DNS Eintrag für die Domains in den An bzw Von-Adressfeldern der Emails. Hier versuchte sendmail ständig einen DNS Eintrag zu holen. Somit musste man immer warten bis der Timeout abgelaufen war. Der Einsatz eines DNS-Cache Programmes auf dem Mailserver schafft hier einem alle Probleme vom Hals. Dafür benutze ich das Programm PDNSD (http://www.phys.uu.nl/~rombouts/pdnsd/index.html).