PHP 基础教程
PHP 高级教程
PHP & MySQL DATABASE
PHP 示例
PHP 参考手册

PHP 发送电子邮件

在本教程中,您将学习如何使用 PHP mail() 函数直接从脚本发送简单的文本或 HTML 电子邮件。

PHP mail() 函数

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

您可以使用 PHP 内置的 mail() 函数从您的 PHP 应用程序中以纯文本形式或格式化的 HTML 动态创建电子邮件消息并将其发送给一个或多个收件人。 该函数的基本语法可以通过以下方式给出:

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

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

参数 说明
Required — The following parameters are required
to 收件人的电子邮件地址。
subject 要发送的电子邮件的主题。 此参数即主题行不能包含任何换行符 (\n)。
message 定义要发送的消息。 每一行都应该用换行符-LF (\n) 分隔。 行不应超过 70 个字符。
Optional — 以下参数是可选的
headers 这通常用于添加额外的标题,例如"From"、"Cc"、"Bcc"。 额外的标题应该用回车加换行CRLF (\r\n) 分隔。
parameters 用于传递附加参数。

发送纯文本电子邮件

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

示例

Download
<?php
$to = 'maryjane@email.com';
$subject = 'Marriage Proposal';
$message = 'Hi Jane, will you marry me?'; 
$from = 'peterparker@email.com';
 
// 发送电子邮件
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 格式的消息。

示例

Download
<?php
$to = 'maryjane@email.com';
$subject = 'Marriage Proposal';
$from = 'peterparker@email.com';
 
// 要发送 HTML 邮件,必须设置 Content-type 标头
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
 
// 创建邮件头
$headers .= 'From: '.$from."\r\n".
    'Reply-To: '.$from."\r\n" .
    'X-Mailer: PHP/' . phpversion();
 
// 编写一个简单的 HTML 电子邮件
$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>';
 
// 发送电子邮件
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 发送邮件功能在您的网站上实现交互式联系表单,以通过电子邮件接收用户的评论和反馈。

Advertisements