PHP mail() 函数

发送电子邮件对于 Web 应用程序非常常见,例如,当用户在你的网站上创建帐户时发送欢迎电子邮件,向你的注册用户发送简报,或通过网站的联系表单获取用户反馈或评论等等。

你可以使用 PHP 内置 mail() 函数以纯文本格式或格式化 HTML 从 PHP 应用程序动态创建和发送电子邮件给一个或多个收件人。该函数的基本语法如下:

mail(to, subject, message, headers, parameters) 

下表总结了此函数的参数。

发送纯文本电子邮件

使用 PHP 发送电子邮件的最简单方法是发送文本电子邮件。在下面的示例中,我们首先声明变量 - 收件人的电子邮件地址,主题行和邮件正文 - 然后我们将这些变量传递给 mail() 函数以发送电子邮件。

$to = 'maryjane@email.com'; $subject = 'Marriage Proposal'; $message = 'Hi Jane, will you marry me?'; $from = 'peterparker@email.com'; // Sending email if(mail($to, $subject, $message)){ echo 'Your mail has been sent successfully.'; } else{ echo 'Unable to send email. Please try again.';

发送 HTML 格式的电子邮件

使用 PHP 发送文本消息时,所有内容都将被视为简单文本。我们将改进该输出,并将电子邮件转换为 HTML 格式的电子邮件。

要发送 HTML 电子邮件,过程将是相同的。但是,这次我们需要提供额外的标头以及 HTML 格式的消息。

$to = 'maryjane@email.com'; $subject = 'Marriage Proposal'; $from = 'peterparker@email.com'; // To send HTML mail, the Content-type header must be set $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; // Create email headers $headers .= 'From: '.$from."\r\n". 'Reply-To: '.$from."\r\n" . 'X-Mailer: PHP/' . phpversion(); // Compose a simple HTML email message $message = '<html><body>'; $message .= '<h1 style="color:#f40;">Hi Jane!</h1>'; $message .= '<p style="color:#080;font-size:18px;">Will you marry me?</p>'; $message .= '</body></html>'; // Sending email if(mail($to, $subject, $message, $headers)){ echo 'Your mail has been sent successfully.'; } else{ echo 'Unable to send email. Please try again.';

注意: 但是,PHP mail() 函数是 PHP 核心的一部分,但你需要在计算机上设置邮件服务器才能使其真正起作用。

在接下来的两章(PHP 表单处理PHP 表单验证)中,你将学习如何在你的网站上实现交互式联系表单,以使用此 PHP 发送邮件功能通过电子邮件接收用户的评论和反馈。