PHP 手册
上一页 |  | 下一页

# LXXIX. Mail 邮件函数

# 简介

mail() 函数可以发送电子邮件。

# 需求

要使邮件函数可用，PHP 必须在编译时能够访问 `sendmail` 程序。如果使用其它的邮件程序例如 qmail 或 postfix，确保使用了与其相应的 sendmail 替代程序。PHP 首先会在系统的 `PATH` 中搜索 sendmail，接着按以下顺序搜索：`/usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib`。强烈建议在 `PATH` 中能够找到 sendmail。另外，编译 PHP 的用户必须能够访问 sendmail 程序。

# 安装

本扩展模块作为 PHP 内核的一部分，无需安装即可使用。

# 运行时配置

这些函数的行为受 `php.ini` 的影响。

表 1. Mail 配置选项

名称 | 默认值 | 可修改范围 | 更新记录
--- | --- | --- | ---
SMTP | "localhost" | PHP_INI_ALL |
smtp_port | "25" | PHP_INI_ALL | 自 PHP 4.3.0 起可用
sendmail_from | NULL | PHP_INI_ALL |
sendmail_path | NULL | PHP_INI_SYSTEM |

有关 PHP_INI_* 常量进一步的细节与定义参见附录 H。

以下是配置选项的简要解释。

`SMTP` string

  仅用于 Windows：PHP 在 mail() 函数中用来发送邮件的 SMTP 服务器的主机名称或者 IP 地址。

`smtp_port` int

  仅用于 Windows：`SMTP` 服务器的端口号，默认为 25。自 PHP 4.3.0 起可用。

`sendmail_from` string

  在 Windows 下用 PHP 发送邮件时的“From:”邮件地址的值。该选项同时设置了 “Return-Path:”头。

`sendmail_path` string

  sendmail 程序的路径，通常为 `/usr/sbin/sendmail` 或 `/usr/lib/sendmail`。configure 脚本会尝试找到该程序并设定为默认值，但是如果失败的话，可以在这里设定。

  不使用 sendmail 的系统应将此指令设定为其邮件系统提供的 sendmail 替代程序，如果有的话。例如，Qmail 用户通常可以设为 `/var/qmail/bin/sendmail` 或 `/var/qmail/bin/qmail-inject`。

  qmail-inject 不需要任何选项就能正确处理邮件。

  此指令也可用于 Windows。如果设定，`smtp`，`smtp_port` 和 `sendmail_from` 都被忽略并运行指定的命令。

# 资源类型

本扩展模块未定义任何资源类型。

# 预定义常量

本扩展模块未定义任何常量。

上一页 | 起始页 | 下一页
lzf_optimized_for | 上一级 | ezmlm_hash