需求
For the Mail functions to be available, PHP must have access to the
sendmail binary on your system during compile time.
If you use another mail program, such as qmail or postfix, be sure to
use the appropriate sendmail wrappers that come with them. PHP will
first look for sendmail in your PATH, and then in
the following:
/usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib.
It's highly recommended to have sendmail available from your
PATH. Also, the user that compiled PHP must have
permission to access the sendmail binary.
运行时配置
这些函数的行为受到全局配置文件 php.ini 的影响。
表格 1. Mail configuration options
Name | Default | Changeable |
---|
SMTP | "localhost" | PHP_INI_ALL |
smtp_port | "25" | PHP_INI_ALL |
sendmail_from | NULL | PHP_INI_ALL |
sendmail_path | DEFAULT_SENDMAIL_PATH | PHP_INI_SYSTEM |
For further details and definition of the PHP_INI_* constants see
ini_set().
以下是该配置选项的简要解释。
- SMTP
string
Used under Windows only: DNS name or IP address of the SMTP server PHP
should use for mail sent with the mail() function.
- smtp_port
int
Used under Windows only: Number of the port to connect to the server
specified with the SMTP setting when sending mail
with mail(); defaults to 25. Only available since
PHP 4.3.0.
- sendmail_from
string
Which "From:" mail address should be used in mail sent from
PHP under Windows.
- sendmail_path
string
Where the sendmail program can be found,
usually /usr/sbin/sendmail or
/usr/lib/sendmail.
configure does an honest attempt of
locating this one for you and set a default, but if it fails,
you can set it here.
Systems not using sendmail should set this directive to the
sendmail wrapper/replacement their mail system offers, if any.
For example, Qmail
users can normally set it to
/var/qmail/bin/sendmail or
/var/qmail/bin/qmail-inject.
qmail-inject does not require any option to
process mail correctly.