Τι πρέπει να γνωρίζετε
- Επιλογές τάξης PHP: PHPmailer, SwiftMailer, Zend_Mail, XpertMailer, PEAR Mail.
- PEAR Mail: Σημειώστε το όνομα διακομιστή αλληλογραφίας > ελέγξτε ότι το PEAR Mail είναι εγκατεστημένο > τροποποιήστε το αρχείο PHP χρησιμοποιώντας τα παραδείγματα.
Αυτό το άρθρο εξηγεί πώς να χρησιμοποιήσετε τον έλεγχο ταυτότητας SMTP για την αποστολή email με τη συνάρτηση PHP mail() στο PEAR Mail.
Αποστολή email με τη λειτουργία αλληλογραφίας PHP
Όταν χρησιμοποιείτε τη συνάρτηση PHP mail(), καταλήγετε να στέλνετε email απευθείας από τον διακομιστή web και όχι από τον διακομιστή αλληλογραφίας σας. Εάν διαθέτετε διακομιστή αλληλογραφίας μέσω του κεντρικού υπολογιστή ιστού σας ή ακόμα και διακομιστή αλληλογραφίας με διαφορετικό κεντρικό υπολογιστή, είναι συνήθως καλύτερο να στέλνετε μηνύματα μέσω αυτού.
Το πρόβλημα είναι ότι η συνάρτηση PHP mail() δεν παρέχει κανέναν ενσωματωμένο τρόπο αποστολής αλληλογραφίας μέσω SMTP. Εάν θέλετε να ανοίξετε αυτήν τη λειτουργία, θα χρειαστεί να εγκαταστήσετε μια πρόσθετη κλάση PHP.
Ακολουθούν ορισμένες επιλογές που λειτουργούν:
- PHPmailer
- SwiftMailer
- Zend_Mail
- XpertMailer
- PEAR Mail
Θα σας δείξουμε πώς να χρησιμοποιείτε το PEAR Mail, αλλά μπορείτε να χρησιμοποιήσετε οποιαδήποτε τάξη που υποστηρίζει SMTP.
Εάν ο οικοδεσπότης Ιστού σας έχει ήδη εγκατεστημένη μία ή περισσότερες από αυτές τις τάξεις, πιθανότατα έχει εκμάθηση που σχετίζονται με την κατάστασή σας. Εάν ναι, προχωρήστε και χρησιμοποιήστε την τάξη στην οποία έχετε πρόσβαση.
Χρησιμοποιήστε αυτήν τη μέθοδο μόνο εάν χρησιμοποιείτε PHP για να δημιουργήσετε τις δικές σας προσαρμοσμένες φόρμες αλληλογραφίας. Εάν χρησιμοποιείτε ένα σύστημα διαχείρισης περιεχομένου (CMS) όπως το WordPress, αναζητήστε μια προσθήκη ή μια ενσωματωμένη λειτουργία για να στείλετε μηνύματα μέσω SMTP, αντί να προσπαθήσετε να δημιουργήσετε τη δική σας.
Πώς να χρησιμοποιήσετε το PEAR για αποστολή αλληλογραφίας μέσω SMTP
- Βεβαιωθείτε ότι ο τομέας σας είναι στραμμένος στις εγγραφές Mail Exchange (MX) του κεντρικού υπολογιστή του διακομιστή αλληλογραφίας σας και σημειώστε το όνομα του διακομιστή αλληλογραφίας σας. Για παράδειγμα, μπορεί να είναι mail.yourdomain.net ή smtp.yourdomain.net.
- Ελέγξτε εάν το PEAR Mail είναι ήδη εγκατεστημένο στον διακομιστή αλληλογραφίας σας.
- Εάν δεν είναι εγκατεστημένο το PEAR Mail, συμβουλευτείτε τον κεντρικό υπολογιστή αλληλογραφίας ιστού σας για συγκεκριμένες οδηγίες εγκατάστασης.
-
Μόλις εγκατασταθεί το PEAR Mail, τροποποιήστε ένα από τα παραδείγματα αρχείων PHP στις ακόλουθες ενότητες για να ταιριάζει στις ανάγκες σας.
Παράδειγμα PEAR Mail PHP Script για SMTP Mail
Μπορείτε να δημιουργήσετε το δικό σας σενάριο από την αρχή εάν θέλετε ή να τροποποιήσετε το παρακάτω παράδειγμα σύμφωνα με τις προτιμήσεις σας. Βεβαιωθείτε ότι έχετε εισαγάγει το όνομα του διακομιστή αλληλογραφίας Ιστού στη μεταβλητή κεντρικού υπολογιστή και χρησιμοποιήστε τα στοιχεία σύνδεσής σας για τον κεντρικό υπολογιστή αλληλογραφίας Ιστού στα πεδία ονόματος χρήστη και κωδικού πρόσβασης.
require_once "Mail.php";
$from="Όνομα αποστολέα ";
$to="Όνομα παραλήπτη ";
$subject=" Γραμμή θέματος εδώ: ";
$body=" οποιοδήποτε μήνυμα θέλετε ";
$host="yourmailhost.com";
$username="το όνομα χρήστη ή το email σας"; $password="ο κωδικός σας";
$headers=πίνακας ('From'=> $from, 'To'=> $to, 'Subject'=> $subject);
$smtp=Mail::factory('smtp', array ('host'=> $host, 'auth'=> true, 'username'=> $username, 'password'=> $password));
$mail=$smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo("
". $mail->getMessage()."
);
} else {echo("
Το μήνυμα στάλθηκε με επιτυχία!
);}
Παράδειγμα PEAR Mail PHP Script για έλεγχο ταυτότητας SMTP και κρυπτογράφηση SSL
Εάν θέλετε να χρησιμοποιήσετε έλεγχο ταυτότητας SMTP και κρυπτογράφηση SSL, θα πρέπει να κάνετε μερικές τροποποιήσεις στο προηγούμενο παράδειγμα. Θα χρειαστεί να κατευθύνετε τη μεταβλητή κεντρικού υπολογιστή στον διακομιστή αλληλογραφίας SSL και επίσης να καθορίσετε έναν αριθμό θύρας όπως 25, 465, 587, 2525 ή 8025. Επικοινωνήστε με τον κεντρικό υπολογιστή αλληλογραφίας ιστού για περισσότερες πληροφορίες, εάν δεν μπορείτε να καταλάβετε ποια θύρα να χρήση.
require_once "Mail.php";
$from="Όνομα αποστολέα ";
$to="Όνομα παραλήπτη ";
$subject=" Γραμμή θέματος εδώ: ";
$body=" οποιοδήποτε μήνυμα θέλετε ";
$host="ssl://yourmailhost.com";
$port="587"; $username="το όνομα χρήστη ή το email σας";
$password="ο κωδικός πρόσβασης";
$headers=πίνακας ('From'=> $from, ' To'=> $to, 'Subject'=> $subject);
$smtp=Mail::factory('smtp', array ('host'=> $host, 'port'=> $port, 'auth'=> true, 'username'=> $username, 'password'=> $password));
$mail=$smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo("
". $mail->getMessage()."
);
} else {echo("
Το μήνυμα στάλθηκε με επιτυχία!
);}