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