Forum und email
Poczta elektroniczna

LXXVII. Poczta elektroniczna

Wstęp

Funkcja mail() umożliwia wysyłanie e-maili.

Wymagania

Aby funkcje poczty elektronicznej były dostępne, PHP musi mieć dostęp w czasie kompilacji do binariów sendmail w Twoim systemie operacyjnym. Jeśli używasz innych programów do wysyłania maili, takich jak qmail czy postfix, upewnij się, że używają one odpowiednich nakładek do emulowania funkcji sendmail. W pierwszej kolejności PHP powinien poszukiwać sendmaila w Twojej zmiennej środowiskowej PATH, a potem w następujących katalogach: /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib. Bardzo ważne jest, aby mieć dostęp do sendmaila z Twojej zmiennej środowiskowej PATH. Użytkownik który kompiluje PHP również musi mieć uprawnienia dostępu do binariów sendmaila.

Instalacja

By używać tych funkcji, nie trzeba niczego instalować. Są one częścią jądra PHP.

Konfiguracja uruchomieniowa

Na działanie tych funcji wpływają ustawienia zawarte w pliku php.ini.

Tabela 1. Mail configuration options

NameDefaultChangeableChangelog
SMTP"localhost"PHP_INI_ALL 
smtp_port"25"PHP_INI_ALLAvailable since PHP 4.3.0.
sendmail_fromNULLPHP_INI_ALL 
sendmail_pathNULLPHP_INI_SYSTEM 
Szczegóły i definicje dotyczące stałych PHP_INI_* znajdują się w rozdziale Dodatek G.

Oto krótkie wyjaśnienie dyrektyw konfiguracji.

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.

Typy zasobów

To rozszerzenie nie posiada żadnych rodzajów zasobów.

Stałe predefiniowane

To rozszerzenie nie posiada żadnych stałych.

Spis treści
ezmlm_hash -- Oblicza wartość hash potrzebną dla EZMLM
mail -- Wysyła e-maila