PHP Mail

2025年7月23日 | 阅读 5 分钟

PHP mail() 函数用于在 PHP 中发送电子邮件。您可以使用 PHP mail() 函数发送纯文本消息、HTML 消息以及带有附件的消息。

发送电子邮件是 PHP 驱动的 Web 应用程序最重要的功能之一。很多时候,您需要通过您的 PHP 应用程序向指定的收件人发送电子邮件,包括通知、更新以及对注册用户的其他各种通信,而不是使用其他邮件服务。

您可以通过本章介绍的技术将此功能或选项添加到您的 PHP 驱动的应用程序中。

PHP mail() 函数

语法

它包含以下语法

参数

$to:指定邮件的收件人。收件人必须以以下形式之一指定

  • user@tpointtech.com
  • user@tpointtech.com, anotheruser@tpointtech.com
  • User <user@tpointtech.com>
  • User <user@tpointtech.com>, Another User <anotheruser@tpointtech.com>

$subject:表示邮件的主题。

$message:表示要发送的邮件内容。

注意:消息的每一行都应以 CRLF ( \r\n ) 分隔,并且行不应超过 70 个字符。

$additional_headers (可选):指定其他标头,如 From, CC, BCC 等。额外的标头也应以 CRLF ( \r\n ) 分隔。

PHP Mail 示例

文件:mailer.php

输出

Mail sent successfully.

电子邮件输出

From: prachet@tpointtech.com
To: vivek@tpointtech.com
Subject: This is a subject

This is simple text message.

说明

在此,PHP 中的 mail() 函数用于发送简单的文本消息。它指定了收件人、主题、电子邮件正文以及 From 标头。如果邮件成功传输到邮件服务器,它会显示“确认消息”。

使用 wordwrap() 发送电子邮件

输出

Mail sent successfully.

电子邮件输出

From: (default)
To: someone@tpointtech.com
Subject: My subject

First line of text
Second line of text
Last line of text

说明

此函数还确保消息行不超过 70 个字符,从而实现了与许多邮件服务器的兼容性。

PHP Mail:发送 HTML 消息

输出

Message sent successfully...

电子邮件输出

From: xyz@tpointtech.com
To: abc@tpointtech.com
Subject: This is subject
Content-Type: text/html; charset=UTF-8

<h1> This is HTML heading </h1>

说明

在此,我将发送一封使用 HTML 的电子邮件。Content-type 标头设置为 text/html,以便电子邮件客户端能够正确处理消息中的 HTML 代码。

PHP Mail:发送带附件的邮件

要发送带附件的消息,您需要提及下方示例中使用的许多标头信息。

输出

Message sent successfully...

电子邮件输出

From: xyz@tpointtech.com
To: abc@tpointtech.com
Subject: This is subject
Content-Type: multipart/mixed; boundary=<random-boundary>

--<boundary>
Content-Type: text/plain

This is a text message.
--<boundary>
Content-Type: application/octet-stream; name="test.txt"
Content-Disposition: attachment; filename="test.txt"
Content-Transfer-Encoding: base64

<encoded file content>
--<boundary>--

说明

这证明了如何为电子邮件添加文本文件。为了帮助安全传输,内容被编码为 base64,并在正文消息和电子邮件附件之间放置了一个特定的边界。

发送带 CC 的邮件

输出

This mail was sent successfully.

电子邮件输出

From: sender@tpointtech.com
To: recipient@tpointtech.com
CC: another@tpointtech.com
Subject: Mail from TPointTech

Hello! Welcome to TPointTech.

说明

CC 标头还会导致消息发送给另一个人。发件人地址字段允许您选择被视为电子邮件发件人的人。在每个标头行后添加回车符和换行符 (\r\n) 非常重要。

发送带 BCC 的邮件

输出

From: sender@tpointtech.com
To: recipient@tpointtech.com
BCC: hidden@tpointtech.com
Subject: Mail (Very Confidential)

This message is sent using BCC.

说明

在这里,您将学习如何使用 BCC(密送)功能。即使 BCC 收件人收到了电子邮件,他们的地址也会对其他收件人隐藏。

结论

使用 mail() 函数,从 PHP 脚本发送电子邮件非常简单直接。您可以使用 mail() 发送纯文本消息、HTML 格式的电子邮件、发送给不同人的副本或附件,并且您可以使用标头来正确设置您的电子邮件。

由于它能很好地完成基本工作,因此它不包含身份验证、跟踪或像 PHPMailer 那样添加附件等更详细的功能。尽管如此,了解如何使用 PHP 的 mail() 函数可以让您在小型到中型 Web 项目中快速设置电子邮件功能。


下一个主题PHP Mail