PHP mail()-funktionen
Definition och användning
mail()-funktionen låter dig skicka e-post direkt från skriptet.
Om e-postleveransen accepteras, returneras true, annars returneras false.
syntaks
mail(to,subject,message,headers,parameters)
parametrar | beskrivning |
---|---|
to | obligatorisk. Anger mottagaren av e-posten. |
subject | obligatorisk. Anger ämnet för e-posten. Parametern får inte innehålla några nyckelradtecken. |
message | obligatorisk. Anger det meddelande som ska skickas. |
headers | obligatorisk. Anger extra huvudrubriker, t.ex. From, Cc och Bcc. |
parameters | obligatorisk. Anger ytterligare parametrar för sendmail-programmet. |
beskrivning
i message 参数规定的消息中,行之间必须以一个 LF(\n)分隔。每行不能超过 70 个字符。
(Windows 下)当 PHP 直接连接到 SMTP 服务器时,如果在一行开头发现一个句号,则会被删掉。要避免此问题,将单个句号替换成两个句号。
<?php $text = str_replace("\n.", "\n..", $text); ?>
Tips och kommentarer
Kommentarer:Du måste komma ihåg att e-postleveransens acceptans inte innebär att e-posten har nått sitt avsedda mål.
Exempel
Exempel 1
Skicka ett enkelt e-postmeddelande:
<?php $txt = "First line of text\nSecond line of text"; // Använd wordwrap() om en rad är längre än 70 tecken. $txt = wordwrap($txt,70); // Skicka e-post mail("somebody@example.com","My subject",$txt); ?>
Exempel 2
Skicka e-post med extra huvudrubriker:
<?php $to = "somebody@example.com"; $subject = "My subject"; $txt = "Hello world!"; $headers = "From: webmaster@example.com" . "\r\n" . "CC: somebodyelse@example.com"; mail($to,$subject,$txt,$headers); ?>
Exempel 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); ?>