Συνάρτηση mail() του PHP
Ορισμός και χρήση
Η συνάρτηση mail() επιτρέπει την αποστολή email από το σενάριο.
Αν η αποδοχή της αποστολής του email είναι επιτυχής, επιστρέφει true, αλλιώς επιστρέφει false.
Γραμματική
mail(to,subject,message,headers,parameters)
Παράμετροι | Περιγραφή |
---|---|
to | Απαιτείται. Ορίζει τον παραλήπτη του email. |
subject | Απαιτείται. Ορίζει το θέμα του email. Αυτός ο παράμετρος δεν πρέπει να περιέχει καμία γραμμή νέας γραμμής. |
message | Απαιτείται. Ορίζει το μήνυμα που πρέπει να σταλεί. |
headers | Απαιτείται. Ορίζει πρόσθετους κεφαλίες, όπως From, Cc και Bcc. |
parameters | Απαιτείται. Ορίζει πρόσθετους παραμέτρους του προγράμματος sendmail. |
Επεξήγηση
Σε message Οι παραμέτρους της μηνύσης, οι γραμμές πρέπει να διαχωρίζονται με ένα LF (\n). Κάθε γραμμή δεν πρέπει να ξεπερνά τους 70 χαρακτήρες.
Στο Windows, όταν το PHP συνδέεται άμεσα με τον διακομιστή SMTP, αν βρεθεί ένας κόμβος στην αρχή μιας γραμμής, θα αφαιρεθεί. Για να αποφύγετε αυτό το πρόβλημα, αντικαταστήστε τον ένα κόμβο με δύο κόμβους.
<?php $text = str_replace("\n.", "\n..", $text); ?>
Συμβουλές και σημειώσεις
Σημειώσεις:Θα πρέπει να θυμάστε ότι η αποδοχή της αποστολής του email δεν σημαίνει ότι το email έχει φτάσει στο σκοπό του.
Παράδειγμα
Παράδειγμα 1
Αποστολή απλού email:
<?php $txt = "First line of text\nSecond line of text"; // Αν μια γραμμή είναι μεγαλύτερη από 70 χαρακτήρες, χρησιμοποιήστε το wordwrap(). $txt = wordwrap($txt,70); // Αποστολή email mail("somebody@example.com","My subject",$txt); ?>
Παράδειγμα 2
Αποστολή email με πρόσθετους κεφάλαια:
<?php $to = "somebody@example.com"; $subject = "My subject"; $txt = "Hello world!"; $headers = "From: webmaster@example.com" . "\r\n" . "CC: ioutherperson@example.com"; mail($to,$subject,$txt,$headers); ?>
παράδειγμα 3
发送一封 HTML email:
<?php $to = "somebody@example.com, somebodyelse@example.com"; $subject = "HTML email"; $message = " <html> <head> <title>HTML email</title> </head> <body> <p>This email contains HTML Tags!</p> <table> <tr> <th>Firstname</th> <th>Lastname</th> </tr> <tr> <td>Bill</td> <td>Gates</td> </tr> </table> </body> </html> "; // 当发送 HTML 电子邮件时,请始终设置 content-type $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; // 更多报头 $headers .= 'From: <webmaster@example.com>' . "\r\n"; $headers .= 'Cc: myboss@example.com' . "\r\n"; mail($to,$subject,$message,$headers); ?>