"Failed to connect to mailserver" bei der Verwendung von SMTP
Ich bin versucht, senden Sie eine E-Mail mit der folgenden Funktion test Funktion:
function SendEmail($to, $subject, $body, $headers)
{
ini_set("SMTP", "smtp.myexistingdomain.com");
mail($to, $subject, $body, $headers);
}
und ich bekomme diese Fehlermeldung:
Warning: mail() [function.E-mail]: Failed to connect to mailserver at
"smtp.myexistingdomain.com" port 25, verify your "SMTP" und
"smtp_port" setting in php.ini oder verwenden Sie ini_set()
- ist das dein echter code? oder verwenden Sie einen anderen server zum senden von E-mail zu.
- Zu viel Aufruf dieser Funktion (wie in Massen-mailing) kann diesen Fehler verursachen. ISP-server verweigern die Verbindung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
PHP nicht umsetzen SMTP-Protokoll. PHP mail() - ist die Verpackung um sendmail binary. Funktioniert auf unix/linux.
Aber Auf Windows (ab PHP.net Handbuch):
Also - die moral von der Geschichte - zu installieren, müssen Sie E-mail-server.
Wenn Sie es vorziehen, senden, E-Mails ohne Installation Sie eigene mailserver (die sein kann ein Schmerz in der *ss) - müssen Sie verwenden eine Bibliothek, die tatsächlich implementiert SMTP-Protokoll und ermöglicht somit eine Verbindung zu jemand anderes SMTP-server.
Dies sind die beliebtesten heute:
Verwendung dieser Bibliotheken kann man konstruieren, text-oder html-Nachrichten mit Leichtigkeit. Hinzufügen von Dateien wird auch eine einfache Sache zu tun.
sind Sie sicher, dass diese Domäne funktioniert und ein smtp-server ist aktiv auf port 25?
sichere smtp-Verkehr verwendet einen anderen port, google kann sagen, u, die in einer sec 🙂
können Sie versuchen, diese, wenn telnet installiert ist, auf Ihren pc:
öffnen Sie eine Eingabeaufforderung, geben Sie ein: telnet smtp.myexistingdomain.com 25
wenn es eine Verbindung herstellt Sie können sicher sein, die domain funktioniert und hören smtp-server.
wenn es fehlschlägt, wird der smtp-server ist wohl nicht erreichbar ist oder einen anderen Anschluss verwendet.
Andere Sache, können Sie prüfen, ist, wenn die richtigen Anmeldeinformationen festgelegt sind, in die php.ini-Datei,
die meisten smtp-Server erfordern Authentifizierung.
Den SMTP-Einstellung ist nur verfügbar, auf Windows. Sind Sie in der Lage, eine direkte Verbindung zu diesem host/port via telnet? Wenn etwas ist, das außerhalb von PHP, aber auf dem host ausgeführt wird, keine Verbindung möglich ist, dann entweder das ist nicht der richtige hostname, es ist nicht lauscht auf port 25, und/oder gibt es ein firewall-Problem.