PHP Mail-Connection Test: So prüfst du sofort, ob dein Server den Mailserver erreichen kann

Kein Mailversand möglich? Prüfe mit diesem PHP-Skript sofort, ob dein Webserver den Mailserver erreichen kann – ganz ohne CMS-Ballast. Debugging leicht gemacht!

Nichts ist frustrierender als ein Kontaktformular oder eine System-Mail, die einfach nicht ankommt. Liegt es an der TYPO3-Konfiguration? Ist es ein Bug im Form-Framework? Oder – und das ist oft der Fall – blockiert die Firewall des Webservers die Verbindung zum Mailserver?

Bevor du stundenlang Logfiles deiner CMS-Installation wälzt, solltest du das Problem isolieren.

Ich habe ein kleines, effektives PHP-Skript geschrieben, mit dem du „barebone“ testen kannst, ob eine Verbindung zwischen deinem Webserver und dem Mailserver (SMTP) technisch überhaupt möglich ist.

Warum du dieses Skript nutzen solltest

Wenn Mails nicht hinausgehen, gibt es viele Fehlerquellen. Oft liegt das Problem gar nicht in deiner Applikation, sondern auf der Netzwerkebene:

  • Firewalls: Der Hoster blockiert ausgehende Verbindungen auf Port 25, 465 oder 587.
  • DNS-Probleme: Der Hostname des Mailservers wird nicht aufgelöst.
  • Timeouts: Die Verbindung dauert zu lange.

Mit diesem Skript umgehst du die Komplexität von TYPO3, WordPress oder anderen Systemen. Es macht nur eine Sache: Es klopft beim Mailserver an und fragt: „Hallo, bist du da?“

Das Skript: Mail-Verbindung testen

Kopiere den folgenden Code, passe die Variablen oben ($host, $port) an deine Daten an und lade die Datei als mailtest.php auf deinen Server hoch.

<?php
// Configuration
$host = 'smtpout.secureserver.net';
$ports = [25, 465, 587];
echo "<h2>SMTP Connection Test</h2>";
echo "Testing connection to <b>$host</b>...<br><br>";
foreach ($ports as $port) {
$connectionString = $host;
if ($port == 465) {
$connectionString = 'ssl://' . $host;
}

echo "Attempting port <b>$port</b>... ";

// Attempt to connect with a 5-second timeout
$fp = @fsockopen($connectionString, $port, $errno, $errstr, 5);
if ($fp) {
echo "<span style='color:green; font-weight:bold;'>SUCCESS</span> (Port is open)";
fclose($fp);
} else {
echo "<span style='color:red; font-weight:bold;'>FAILED</span>";
echo " <small>($errno: $errstr)</small>";
}
echo "<br>";
}
echo "<hr><h3>Interpretation:</h3>";
echo "<ul>";
echo "<li><b>SUCCESS:</b> The firewall is OPEN. Your issue is likely a typo in TYPO3 configuration.</li>";
echo "<li><b>FAILED (Connection timed out):</b> The firewall is BLOCKING this port. You must contact your host.</li>";
echo "</ul>";

So interpretierst du das Ergebnis

Rufe die Datei einfach im Browser auf (deine-domain.de/mailtest.php).

  1. Erfolg: Du erhältst eine Meldung, dass die Verbindung hergestellt wurde (oft mit einem Code wie 220 vom Mailserver). Das bedeutet: Netzwerk und Firewall sind okay. Der Fehler liegt vermutlich in deiner CMS-Konfiguration oder den Zugangsdaten (User/Passwort).
  2. Fehler (Connection Refused / Timeout): Wenn das Skript fehlschlägt, blockiert sehr wahrscheinlich eine Firewall oder der Port ist falsch. In diesem Fall musst du dich an deinen Hosting-Provider wenden, bevor du weiter im CMS suchst.

Fazit

Debugging muss nicht kompliziert sein. Mit diesem kleinen Helper sparst du dir beim nächsten Mail-Problem wertvolle Zeit und kannst den Fehler sofort eingrenzen.

Hast du das Skript ausprobiert? Schreib mir gerne, ob es dir bei der Fehlersuche geholfen hat!

Bereit mehr zu lernen?

Dann komme in meine TYPO3 Onlineschule

Als Mitglied des T3 Campus für TYPO3 Schulungen erhältst du eine einzigartige Lernplattform, um professionelle Webseiten mit TYPO3 zu erstellen. Egal, ob du ein Einsteiger, Umsteiger oder bereits erfahren bist – hier findest du die passenden Lernvideos für dich.

Kevin Chileong Lee

Gründer vom T3 Campus, TYPO3 Experte mit 10+ Jahren Erfahrung, TYPO3 Liebhaber.

Ich helfe dir dabei, deine Projekte in TYPO3 umzusetzen.

Insbesondere für TYPO3 Einsteiger biete ich zahlreiche kostenfreie Tutorials und kostenpflichtige Kurse rund um TYPO3 an.
Damit kannst du in wenigen Tagen auch ohne Vorkenntnisse deine erste TYPO3 Webseite erstellen und Erweiterungen programmieren.

Auf meinem YouTube-Kanal findest du viele praktische Beispiele und Videotutorials als auch allgemein Videos zu diversen TYPO3 Themen.

Neber den TYPO3 Tutorials und Kopiervorlagen, schreibe ich auch Artikel auf meinem Blog über diverse Themen und Fragen, die die meisten TYPO3 Einsteiger, haben.

Wenn du auf dem Laufenden sein möchtest über meine Projekte, dann abonniere den Newsletter.