Πώς να στείλετε το Email χρησιμοποιώντας PHP mail() Λειτουργία

Τι είναι η PHP mail?

PHP mail είναι η ενσωματωμένη συνάρτηση PHP που χρησιμοποιείται για την αποστολή emails από σενάρια PHP.

Η mail η συνάρτηση δέχεται το ακόλουθοwing παραμέτρους:

  • Διεύθυνση ηλεκτρονικού ταχυδρομείου *
  • Θέμα
  • Μήνυμα
  • CC ή BC email διευθύνσεις

  • Είναι ένας οικονομικός τρόπος ειδοποίησης των χρηστών για σημαντικά γεγονότα.
  • Αφήστε τους χρήστες να επικοινωνήσουν μαζί σας μέσω email παρέχοντας μια φόρμα επικοινωνίας στον ιστότοπο που πmails το παρεχόμενο περιεχόμενο.
  • Οι προγραμματιστές μπορούν να το χρησιμοποιήσουν για να λαμβάνουν σφάλματα συστήματος μέσω πmail
  • Μπορείτε να το χρησιμοποιήσετε για πmail τους συνδρομητές του ενημερωτικού δελτίου σας.
  • Μπορείτε να το χρησιμοποιήσετε για να στείλετε συνδέσμους επαναφοράς κωδικού πρόσβασης σε χρήστες που ξεχνούν τους κωδικούς πρόσβασής τους
  • Μπορείτε να το χρησιμοποιήσετε για πmail συνδέσμους ενεργοποίησης/επιβεβαίωσης. Αυτό είναι χρήσιμο κατά την εγγραφή χρηστών και την επαλήθευση του email διευθύνσεις

Γιατί/Πότε να χρησιμοποιήσετε το mail PHP

Αποστολή mail χρησιμοποιώντας PHP

Η PHP mail η λειτουργία έχει το ακόλουθοwing βασική σύνταξη

<?php
mail($to_email_address,$subject,$message,[$headers],[$parameters]);
?>

ΕΔΩ,

  • «$to_email_διεύθυνση» είναι το email διεύθυνση του mail παραλήπτης
  • Το "$subject" είναι το email θέμα
  • "$message" είναι το μήνυμα που πρέπει να σταλεί.
  • Το "[$headers]" είναι προαιρετικό, μπορεί να χρησιμοποιηθεί για να συμπεριλάβει πληροφορίες όπως CC, BCC

    • Το CC είναι το ακρωνύμιο του carbon copy. Χρησιμοποιείται όταν θέλετε να στείλετε ένα αντίγραφο σε έναν ενδιαφερόμενο, π.χ. ένα παράπονο π.χmail αποστέλλονται σε μια εταιρεία μπορούν επίσης να σταλούν ως CC στο συμβούλιο παραπόνων.
    • Το BCC είναι το ακρωνύμιο του blind carbon copy. Είναι παρόμοιο με το CC. Το email Οι διευθύνσεις που περιλαμβάνονται στην ενότητα BCC δεν θα εμφανίζονται στους άλλους παραλήπτες.

Απλούς Mail Transmission Πρωτόκολλο (SMTP)

PHP mailer χρησιμοποιεί Simple Mail Transmission Πρωτόκολλο (SMTP) για αποστολή mail.

Σε έναν φιλοξενούμενο διακομιστή, οι ρυθμίσεις SMTP θα είχαν ήδη οριστεί.

Το SMTP mail Οι ρυθμίσεις μπορούν να διαμορφωθούν από το αρχείο "php.ini" στον φάκελο εγκατάστασης της PHP.

Διαμόρφωση ρυθμίσεων SMTP στον τοπικό υπολογιστή σας Υποθέτοντας ότι χρησιμοποιείτε το xampp on windows, εντοπίστε το "php.ini" στον κατάλογο "C:\xampp\php".

  • Ανοίξτε το χρησιμοποιώντας σημειωματάριο ή οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου. Θα χρησιμοποιήσουμε το σημειωματάριο σε αυτό το παράδειγμα. Κάντε κλικ στο μενού επεξεργασίας

Απλούς Mail Transmission Πρωτόκολλο

  • Κάντε κλικ στο μενού Εύρεση…

Απλούς Mail Transmission Πρωτόκολλο

  • Θα εμφανιστεί το μενού διαλόγου εύρεσης

Απλούς Mail Transmission Πρωτόκολλο

  • Κάντε κλικ στο κουμπί Εύρεση επόμενου

Απλούς Mail Transmission Πρωτόκολλο

  • Εντοπίστε τις καταχωρήσεις

    • [mail λειτουργία]
    • ; XAMPP: Μην αφαιρέσετε την ημιστήλη εάν θέλετε να εργαστείτε με έναν διακομιστή SMTP όπως ο Mercury
    • ; SMTP = localhost
    • ; smtp_port = 25
    • Αφαιρέστε τα ερωτηματικά πριν από το SMTP και το smtp_port και ορίστε το SMTP στο διακομιστή smtp και τη θύρα στη θύρα smtp σας. Οι ρυθμίσεις σας θα πρέπει να έχουν ως εξής

      • SMTP = smtp.example.com
      • smtp_port = 25
      • Note Οι ρυθμίσεις SMTP μπορούν να ληφθούν από τους παρόχους φιλοξενίας Ιστού σας.
      • Εάν ο διακομιστής απαιτεί έλεγχο ταυτότητας, προσθέστε το following Γραμμές.

        • 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);
?>

Παραγωγή:

Απλούς Mail Transmission Πρωτόκολλο

Σημείωση: το παραπάνω παράδειγμα λαμβάνει μόνο τις 4 υποχρεωτικές παραμέτρους.

Θα πρέπει να αντικαταστήσετε το παραπάνω εικονικό email διεύθυνση με πραγματικό email διεύθυνση.

Απολύμανση εmail εισροές χρήστη

Το παραπάνω παράδειγμα χρησιμοποιεί σκληρές κωδικοποιημένες τιμές στον πηγαίο κώδικα για το email διεύθυνση και άλλα ντεtails για απλότητα.

Ας υποθέσουμε ότι πρέπει να δημιουργήσετε μια φόρμα επικοινωνίας ώστε οι χρήστες να συμπληρώσουν το details και μετά υποβάλετε.

  • Οι χρήστες μπορούν κατά λάθος ή σκόπιμα να εισάγουν κώδικα στις κεφαλίδες που μπορεί να έχει ως αποτέλεσμα την αποστολή ανεπιθύμητης αλληλογραφίας mail
  • Για να προστατεύσετε το σύστημά σας από τέτοιες επιθέσεις, μπορείτε να δημιουργήσετε μια προσαρμοσμένη συνάρτηση που απολυμαίνει και επικυρώνει τις τιμές πριν από την mail έχει αποσταλεί.

Ας δημιουργήσουμε μια προσαρμοσμένη λειτουργία που επικυρώνει και απολυμαίνει το email διεύθυνση χρησιμοποιώντας την ενσωματωμένη συνάρτηση filter_var.

Συνάρτηση Filter_var Η συνάρτηση filter_var χρησιμοποιείται για την απολύμανση και την επικύρωση των δεδομένων εισόδου του χρήστη.

Έχει το ακόλουθοwing βασική σύνταξη.

<?php
filter_var($field, SANITIZATION TYPE);
?>

ΕΔΩ,

  • Το "filter_var(…)" είναι η συνάρτηση επικύρωσης και απολύμανσης
  • Το "$field" είναι η τιμή του πεδίου που θα φιλτράρετε.
  • «ΤΥΠΟΣ ΑΠΟΛΥΜΑΝΣΗΣ» είναι ο τύπος απολύμανσης που πρέπει να πραγματοποιηθεί στο χωράφι, όπως π.

    • FILTER_VALIDATE_EMAIL – επιστρέφει true για έγκυρο email διευθύνσεις και ψευδής για μη έγκυρη 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 – αφαιρεί ετικέτες από τιμές συμβολοσειρών. είμαι τολμηρός γίνεται είμαι τολμηρός.

Ο κώδικας που ακολουθεί χρησιμοποιεί μια προσαρμοσμένη λειτουργία για ασφαλή αποστολή mail.

<?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 εισροές χρήστη

ΑΣΦΑΛΕΙΑ Mail

Emails μπορούν να αναχαιτιστούν κατά τη διάρκεια transmission από ακούσιους παραλήπτες.

Αυτό μπορεί να εκθέσει τα περιεχόμενα του email σε ακούσιους παραλήπτες.

ΑΣΦΑΛΕΙΑ mail λύνει αυτό το πρόβλημα μεταδίδοντας emails μέσω Hypertext Transfer Protocol Secure (HTTPS).

Το HTTPS κρυπτογραφεί τα μηνύματα πριν τα στείλει.

Χαρακτηριστικά

  • Η PHP ενσωματωμένη λειτουργία mail() χρησιμοποιείται για αποστολή mail από σενάρια PHP
  • Οι έλεγχοι επικύρωσης και απολύμανσης των δεδομένων είναι απαραίτητοι για την ασφαλή αποστολή mail
  • Η ενσωματωμένη συνάρτηση PHP filter_var() παρέχει έναν εύκολο στη χρήση και αποτελεσματικό τρόπο εκτέλεσης εξυγίανσης και επικύρωσης δεδομένων