Fehler beim Versenden von Emails

Luzie

Erfahrenes Mitglied
Hallo zusammen,

Ich bekomme folgende Meldung beim Versenden einer Mail online.

Warning: mail(): Failed to connect to mailserver at "xxx.xx.xx.xx" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in xxx.php on line 5

Line 5 bezieht sich auf das from:

Am Script liegts nicht, ich habe es mit mehrere einfachen Standardscripts probiert. Die Meldung ist immer die gleiche.

Über phpinfo() kann ich sehen, dass folgende Eintragungen vorgegeben sind

smtp xxx.xxx.xxx (IP-Adresse des SMTP-Servers)
smtp-port ist auch 25
sendmail_f r o m: eine Standardadresse
sendmail_path: no value.

Ich vermute mal, dass die Adresse des SMTP-Servers nicht korrekt ist. Der Provider meinte aber, es wäre so richtig.

Jetzt sagte mir der Provider, dass sie aus Sicherheitsgründen sendmail micht installiert haben. Ich weiss allerdings nicht, ob er mich richtig verstanden hat, er sprach immer von einer veralteten Sendmail-Version und Perl-Scripten. Kann es daran liegen oder wird die Funktion mail() auch ohne sendmail-Installation von php kompiliert?

Ich hab mich auch mal hier eingelesen
http://de3.php.net/manual/de/ref.mail.php

werd aber nicht so richtig schlau daraus, was dort mit binärem Sendmail gemeint ist. Mir schein, dass der Provider nicht sehr viel Ahnung von der ganzen Konfiguration hat, ich allerdings auch nicht, was den SMTP-Serverbereich anbetrifft. Er ist allerdings sehr bemüht und möchte auch, das dies läuft.

Hat jemand wohl einen Tipp für mich oder kann mir erklären, was man verändern könnte?
 
Die PHP-Mailfunktion unter Linux/Unix benötigt unbedingt ein korrekt konfiguriertes Sendmail. Du kannst das Problem einer nicht vorhandenen Installation umgehen, indem Du das PEAR-Package "Mail" (http://pear.php.net/package/Mail/) verwendest.:
PHP:
<?
include("Mail.php");

$recipients = "mail_to@domain.mail";

$headers["From"]    = "mail_from@domain.mail";
$headers["To"]      = "mail_to@domain.mail";
$headers["Subject"] = "Test message";

$body = "TEST MESSAGE!";

$params["host"] = "smtp.server";
$params["port"] = "25";
$params["auth"] = true;
$params["username"] = "user";
$params["password"] = "password";

// Create the mail object using the Mail::factory method
$mail_object =& Mail::factory("smtp", $params);

$mail_object->send($recipients, $headers, $body);
?>
Der Code ist von de.php.net/mail - und er funktioniert auch (wenn der Provider PEAR nicht bei der Konfiguration ausgeschlossen hat). Dabei hast Du die Möglichkeit Deinen eigenen SMTP-Server auszuwählen und Dich auch zu authentifizieren, wenn nötig. Ob allerdings die Socket-Verbindung zum Server aufgebaut werden kann, liegt wiederum beim Provider.

snuu
 
Dann hast Du auch kein Sendmail!
Du musst in der PHP.INI den Parameter "SMTP" korrekt einstellen, indem Du dort die Adresse des SMTP-Servers einträgst, der auch das Versenden von Mails für nicht-authentifizierte Benutzer zulässt. Andernfalls musst Du wohl doch auf das PEAR-Package zurück greifen, das im übrigen auch unter Windows funktioniert.

Kannst Du die php.ini nicht selbst ändern, kannst Du auch über die Funktion [phpf]ini_set[/phpf] den Parameter zur Laufzeit des Scriptes ändern. Das steht aber auch alles in Deinen geposteten Fehlermeldungen.

snuu
 
Hmmm, ja irgendwie wirds mir nu schon klarer.

Ich kann in der php.ini nichts ändern.

Du meinst, ich könnte nun in

ini_set("SMTP","123.456.878");

die IP eintragen. Ich weiss nur nicht, ob das hilft, denn ich habe ja auch nur das, was ich über phpinfo() auslesen kann. Naja, ich habs ausprobiert, die gleiche Meldung kommt.

Für meine ASP-Mails über cdosys nutze ich auch nur die IP-Adresse des Servers und das funktioniert. Das liegt allerdings auf einem anderen Server und die Adresse ist auch anders.

Eine Authorisierung ist eigentlich nicht notwendig.
 
Wie gesagt, Du musst die IP des Mail-Servers angeben, der unauthorisierte Verbindungen unterstützt. Welcher das ist, weisst ganz allein Du.

snuu
 
Hi

ich habe mehrere IP-Adressen, die mir angegeben wurden, ausprobiert. Es hat nicht funktioniert :(

Ich denke mal, es nun die Sache des Providers, mir dies korrekt einzurichten.

Ich danke Dir auf jeden Fall ganz herzlich für Deine Bemühungen. Mir ist nun einiges sehr viel klarer geworden.
 
:confused:
Habe das selbe Problem (arbeite auch unter Windows)... Ich kapier nur irgendwie nicht, wie ich das Mail-Package installieren muss!
:confused:
 
Zurück