Πώς να στείλετε email χρησιμοποιώντας τη συνάρτηση PHP mail().
Τι είναι το PHP mail;
Το PHP mail είναι η ενσωματωμένη συνάρτηση PHP που χρησιμοποιείται για την αποστολή email από σενάρια PHP.
Η συνάρτηση αλληλογραφίας δέχεται τις ακόλουθες παραμέτρους:
- Διεύθυνση ηλεκτρονικού ταχυδρομείου *
- Θέμα
- Το μήνυμά σας
- Διευθύνσεις email CC ή BC
- Είναι ένας οικονομικός τρόπος ειδοποίησης των χρηστών για σημαντικά γεγονότα.
- Επιτρέψτε στους χρήστες να επικοινωνήσουν μαζί σας μέσω email παρέχοντας μια φόρμα επικοινωνίας στον ιστότοπο που αποστέλλει email το παρεχόμενο περιεχόμενο.
- Οι προγραμματιστές μπορούν να το χρησιμοποιήσουν για να λαμβάνουν σφάλματα συστήματος μέσω email
- Μπορείτε να το χρησιμοποιήσετε για να στείλετε email στους συνδρομητές σας στο newsletter.
- Μπορείτε να το χρησιμοποιήσετε για να στείλετε συνδέσμους επαναφοράς κωδικού πρόσβασης σε χρήστες που ξεχνούν τους κωδικούς πρόσβασής τους
- Μπορείτε να το χρησιμοποιήσετε για να στείλετε email σε συνδέσμους ενεργοποίησης/επιβεβαίωσης. Αυτό είναι χρήσιμο κατά την εγγραφή χρηστών και την επαλήθευση των διευθύνσεων email τους
Γιατί/Πότε να χρησιμοποιήσετε την αλληλογραφία PHP
Αποστολή αλληλογραφίας με χρήση PHP
Η συνάρτηση αλληλογραφίας PHP έχει την ακόλουθη βασική σύνταξη
<?php mail($to_email_address,$subject,$message,[$headers],[$parameters]); ?>
ΕΔΩ,
- "$to_email_address" είναι η διεύθυνση email του παραλήπτη της αλληλογραφίας
- Το "$subject" είναι το θέμα του email
- "$message" είναι το μήνυμα που πρέπει να σταλεί.
- Το "[$headers]" είναι προαιρετικό, μπορεί να χρησιμοποιηθεί για να συμπεριλάβει πληροφορίες όπως CC, BCC
- Το CC είναι το ακρωνύμιο του carbon copy. Χρησιμοποιείται όταν θέλετε να στείλετε ένα αντίγραφο σε ένα ενδιαφερόμενο άτομο, δηλαδή ένα email παραπόνων που αποστέλλεται σε μια εταιρεία μπορεί επίσης να σταλεί ως CC στον πίνακα παραπόνων.
- Το BCC είναι το ακρωνύμιο του blind carbon copy. Είναι παρόμοιο με το CC. Οι διευθύνσεις email που περιλαμβάνονται στην ενότητα BCC δεν θα εμφανίζονται στους άλλους παραλήπτες.
Απλούς Mail Transmission Πρωτόκολλο (SMTP)
Το PHP mailer χρησιμοποιεί το Simple Mail Transmission Πρωτόκολλο (SMTP) για την αποστολή αλληλογραφίας.
Σε έναν φιλοξενούμενο διακομιστή, οι ρυθμίσεις SMTP θα είχαν ήδη οριστεί.
Οι ρυθμίσεις αλληλογραφίας SMTP μπορούν να διαμορφωθούν από το αρχείο «php.ini» στον φάκελο εγκατάστασης της PHP.
Διαμόρφωση ρυθμίσεων SMTP στον τοπικό σας κεντρικό υπολογιστή Υποθέτοντας ότι χρησιμοποιείτε xampp στα παράθυρα, εντοπίστε το "php.ini" στον κατάλογο "C:\xampp\php".
- Ανοίξτε το χρησιμοποιώντας σημειωματάριο ή οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου. Θα χρησιμοποιήσουμε το σημειωματάριο σε αυτό το παράδειγμα. Κάντε κλικ στο μενού επεξεργασίας
- Κάντε κλικ στο μενού Εύρεση…
- Θα εμφανιστεί το μενού διαλόγου εύρεσης
- Κάντε κλικ στο κουμπί Εύρεση επόμενου
- Εντοπίστε τις καταχωρήσεις
- [λειτουργία αλληλογραφίας]
- ; XAMPP: Μην αφαιρέσετε την ημιστήλη εάν θέλετε να εργαστείτε με έναν διακομιστή SMTP όπως Mercury
- ; SMTP = localhost
- ; smtp_port = 25
- Αφαιρέστε τα ερωτηματικά πριν από το SMTP και το smtp_port και ορίστε το SMTP στο διακομιστή smtp και τη θύρα στη θύρα smtp σας. Οι ρυθμίσεις σας θα πρέπει να έχουν ως εξής
- SMTP = smtp.example.com
- smtp_port = 25
- Σημείωση Οι ρυθμίσεις SMTP μπορούν να ληφθούν από τους παρόχους φιλοξενίας Ιστού σας.
- Εάν ο διακομιστής απαιτεί έλεγχο ταυτότητας, προσθέστε τις ακόλουθες γραμμές.
- auth_username = example_username@example.com
- auth_password = example_password
- Αποθηκεύστε τις νέες αλλαγές.
- επανεκκίνηση Apache διακομιστή.
PHP Mail Παράδειγμα
Ας δούμε τώρα ένα παράδειγμα που στέλνει ένα απλό mail.
<?php $to_email = 'name @ company . com'; $subject = 'Testing PHP Mail'; $message = 'This mail is sent using the PHP mail function'; $headers = 'From: noreply @ company . com'; mail($to_email,$subject,$message,$headers); ?>
Παραγωγή:
Σημείωση: το παραπάνω παράδειγμα λαμβάνει μόνο τις 4 υποχρεωτικές παραμέτρους.
Θα πρέπει να αντικαταστήσετε την παραπάνω εικονική διεύθυνση email με μια πραγματική διεύθυνση email.
Απολύμανση των εισόδων των χρηστών email
Το παραπάνω παράδειγμα χρησιμοποιεί σκληρές κωδικοποιημένες τιμές στον πηγαίο κώδικα για τη διεύθυνση email και άλλες λεπτομέρειες για απλότητα.
Ας υποθέσουμε ότι πρέπει να δημιουργήσετε μια φόρμα επικοινωνίας ώστε οι χρήστες να συμπληρώσουν τα στοιχεία και μετά να την υποβάλουν.
- Οι χρήστες μπορούν κατά λάθος ή σκόπιμα να εισάγουν κώδικα στις κεφαλίδες, κάτι που μπορεί να έχει ως αποτέλεσμα την αποστολή ανεπιθύμητης αλληλογραφίας
- Για να προστατεύσετε το σύστημά σας από τέτοιες επιθέσεις, μπορείτε να δημιουργήσετε μια προσαρμοσμένη συνάρτηση που απολυμαίνει και επικυρώνει τις τιμές πριν από την αποστολή της αλληλογραφίας.
Ας δημιουργήσουμε μια προσαρμοσμένη συνάρτηση που επικυρώνει και απολυμαίνει τη διεύθυνση email χρησιμοποιώντας την ενσωματωμένη συνάρτηση filter_var.
Συνάρτηση Filter_var Η συνάρτηση filter_var χρησιμοποιείται για την απολύμανση και την επικύρωση των δεδομένων εισόδου του χρήστη.
Έχει την εξής βασική σύνταξη.
<?php filter_var($field, SANITIZATION TYPE); ?>
ΕΔΩ,
- Το "filter_var(…)" είναι η συνάρτηση επικύρωσης και απολύμανσης
- Το "$field" είναι η τιμή του πεδίου που θα φιλτράρετε.
- «ΤΥΠΟΣ ΑΠΟΛΥΜΑΝΣΗΣ» είναι ο τύπος απολύμανσης που πρέπει να πραγματοποιηθεί στο χωράφι, όπως π.
- FILTER_VALIDATE_EMAIL – επιστρέφει true για έγκυρες διευθύνσεις email και false για μη έγκυρες διευθύνσεις email.
- FILTER_SANITIZE_EMAIL – αφαιρεί παράνομους χαρακτήρες από διευθύνσεις email. info\@domain.(com) επιστρέφει info@domain.com.
- FILTER_SANITIZE_URL – αφαιρεί τους παράνομους χαρακτήρες από τις διευθύνσεις URL. http://www.example@.comé επιστρέφει >http://www.example@.com
- FILTER_SANITIZE_STRING – αφαιρεί ετικέτες από τιμές συμβολοσειρών. είμαι τολμηρός γίνεται είμαι τολμηρός.
Ο κώδικας που ακολουθεί χρησιμοποιεί μια προσαρμοσμένη λειτουργία για την αποστολή ασφαλούς αλληλογραφίας.
<?php function sanitize_my_email($field) { $field = filter_var($field, FILTER_SANITIZE_EMAIL); if (filter_var($field, FILTER_VALIDATE_EMAIL)) { return true; } else { return false; } } $to_email = 'name @ company . com'; $subject = 'Testing PHP Mail'; $message = 'This mail is sent using the PHP mail '; $headers = 'From: noreply @ company. com'; //check if the email address is invalid $secure_check $secure_check = sanitize_my_email($to_email); if ($secure_check == false) { echo "Invalid input"; } else { //send email mail($to_email, $subject, $message, $headers); echo "This email is sent using PHP Mail"; } ?>
Παραγωγή:
προστασία Mail
Τα μηνύματα ηλεκτρονικού ταχυδρομείου μπορούν να υποκλαπούν κατά τη μετάδοση από ακούσιους παραλήπτες.
Αυτό μπορεί να εκθέσει το περιεχόμενο του μηνύματος ηλεκτρονικού ταχυδρομείου σε ανεπιθύμητους παραλήπτες.
Η ασφαλής αλληλογραφία επιλύει αυτό το πρόβλημα με τη μετάδοση μηνυμάτων ηλεκτρονικού ταχυδρομείου μέσω του πρωτοκόλλου ασφαλούς μεταφοράς υπερκειμένου (HTTPS).
Το HTTPS κρυπτογραφεί τα μηνύματα πριν τα στείλει.
Σύνοψη
- Τα Διαχωριστικά PHP Η ενσωματωμένη συνάρτηση mail() χρησιμοποιείται για την αποστολή αλληλογραφίας από σενάρια PHP
- Οι έλεγχοι επικύρωσης και απολύμανσης των δεδομένων είναι απαραίτητοι για την αποστολή ασφαλούς αλληλογραφίας
- Η ενσωματωμένη συνάρτηση PHP filter_var() παρέχει έναν εύκολο στη χρήση και αποτελεσματικό τρόπο εκτέλεσης εξυγίανσης και επικύρωσης δεδομένων