The mail() function allows you to send mail.
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.
There is no installation needed to use these
functions; they are part of the PHP core.
The behaviour of these functions is affected by settings in php.ini.
Table 1. Mail configuration options
Name | Default | Changeable | Changelog |
---|
SMTP | "localhost" | PHP_INI_ALL | |
smtp_port | "25" | PHP_INI_ALL | Available since PHP 4.3.0. |
sendmail_from | NULL | PHP_INI_ALL | |
sendmail_path | NULL | PHP_INI_SYSTEM | |
For further details and definitions of the
PHP_INI_* constants, see the
Appendix G.
Here's a short explanation of
the configuration directives.
- SMTP
string
Used under Windows only: host 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.
This directive also sets the "Return-Path:" header.
- 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.
This directive works also under Windows. If set, smtp,
smtp_port and sendmail_from are
ignored and the specified command is executed.
This extension has no resource types defined.
This extension has no constants defined.