DIY: Δοκιμή του SMTP Server με PHP

Σε αυτό το άρθρο, θα δούμε πώς να δοκιμάσουμε αν μπορούμε να συνδεθούμε επιτυχώς με έναν SMTP server χρησιμοποιώντας PHP.

Βήματα

  • Δημιουργία του PHP Script – Δημιουργήστε ένα αρχείο με το όνομα smtp_test.php και αντιγράψτε τον παρακάτω κώδικα:
<?php
$smtp_host = 'your_smtp_host'; // Αντικαταστήστε με τον SMTP host σας
$smtp_port = 465; // Συνήθως 465 ή 587 για ασφαλείς συνδέσεις
$username = 'your_username'; // Το όνομα χρήστη σας
$password = 'your_password'; // Ο κωδικός πρόσβασής σας

// Άνοιγμα σύνδεσης μέσω socket
$fp = fsockopen("ssl://$smtp_host", $smtp_port, $errno, $errstr, 30);

if (!$fp) {
    echo "Error: $errstr ($errno)";
} else {
    echo "Connection successful!";
    // Κλείσιμο της σύνδεσης
    fclose($fp);
}
?>

Αντικαταστήστε τις παρακάτω μεταβλητές με τις δικές σας πληροφορίες:

  • your_smtp_host με το host του SMTP server σας (π.χ., smtp.gmail.com για Gmail)
  • your_username με το όνομα χρήστη σας (π.χ., η διεύθυνση email σας)
  • your_password με τον κωδικό πρόσβασής σας
  • Μεταφόρτωση και Εκτέλεση του Script

Αν εκτελείτε τοπικά:

  • Βεβαιωθείτε ότι έχετε εγκαταστήσει έναν web server όπως το XAMPP ή WAMP.
  • Τοποθετήστε το αρχείο smtp_test.php στον φάκελο του web server σας (π.χ., htdocs για XAMPP).

Αν εκτελείτε σε απομακρυσμένο server:

  • Μεταφορτώστε το αρχείο smtp_test.php χρησιμοποιώντας ένα πρόγραμμα FTP ή μέσω του cPanel.
  • Πρόσβαση στο Script Μέσω Web Browser

Ανοίξτε τον web browser και εισάγετε τη διεύθυνση URL που αντιστοιχεί στο αρχείο smtp_test.php. Για παράδειγμα:

  • Αν το εκτελείτε τοπικά: http://localhost/smtp_test.php
  • Αν το εκτελείτε σε απομακρυσμένο server: https://yourdomain.com/smtp_test.php

Συχνά Σφάλματα και Λύσεις

  • Σφάλμα Connection refused:
    • Ελέγξτε αν ο SMTP server δέχεται συνδέσεις στην καθορισμένη θύρα (π.χ., 465 ή 587).
    • Ελέγξτε αν το firewall ή το antivirus μπλοκάρει τη σύνδεση.
  • Σφάλμα Unable to connect to SSL://<host>:
    • Βεβαιωθείτε ότι η επιλογή ssl είναι σωστή. Για μη ασφαλείς συνδέσεις, αφαιρέστε το ssl://.
    • Βεβαιωθείτε ότι ο SMTP server υποστηρίζει SSL/TLS.

Με αυτές τις οδηγίες, μπορείτε να δοκιμάσετε αν η σύνδεσή σας με τον SMTP server είναι επιτυχής και να προχωρήσετε με την αποστολή emails μέσω PHP (οποιαδήποτε έκδοση).