Funkcja PHP mail()
Definicja i użycie
Funkcja mail() pozwala na wysyłanie e-maili bezpośrednio z skryptu.
Jeśli dostarczenie e-maila zostało pomyślnie zaakceptowane, zwraca true, w przeciwnym razie zwraca false.
gramatyka
mail(do,tytuł,wiadomość,nagłówki,parametry)
parametry | opis |
---|---|
do | wymagane. Określa odbiorcę e-maila. |
tytuł | wymagane. Określa temat e-maila. Parametr nie może zawierać znaków nowej linii. |
wiadomość | wymagane. Określa wiadomość do wysłania. |
nagłówki | wymagane. Określa dodatkowe nagłówki, takie jak Od, Cc oraz Bcc. |
parametry | wymagane. Określa dodatkowe parametry programu sendmail. |
opis
w wiadomość Parametry określone w wiadomości, wiersze muszą być oddzielone jednym LF (\n). Każdy wiersz nie może przekraczać 70 znaków.
(Windowsie)Kiedy PHP bezpośrednio łączy się z serwerem SMTP, jeśli w początku wiersza znajduje się kropka, zostanie ona usunięta. Aby uniknąć tego problemu, zastąp pojedynczą kropkę dwiema kropkami.
<?php $text = str_replace("\n.", "\n..", $text); ?>
Wskazówki i komentarze
Komentarz:Pamiętaj, że przyjęcie e-maila nie oznacza, że dotarł do planowanego miejsca.
Przykład
Przykład 1
Wysyłanie prostego e-maila:
<?php $txt = "Pierwszy wiersz tekstu\nDrugi wiersz tekstu"; // Jeśli wiersz jest dłuższy niż 70 znaków, użyj wordwrap(). $txt = wordwrap($txt,70); // Wysyłanie e-maila mail("innyosoba@example.com","Mój temat",$txt); ?>
Przykład 2
Wysyłanie e-maila z dodatkowymi nagłówkami:
<?php $do = "innyosoba@example.com"; $tytuł = "Mój temat"; $txt = "Hello world!"; $nagłówki = "Od: webmaster@example.com" . "\r\n" . "CC: innyosoba@example.com"; mail($do,$tytuł,$txt,$nagłówki); ?>
Przykład 3
Wysyłanie e-maila HTML:
<?php $to = "somebody@example.com, somebodyelse@example.com"; $subject = "Email HTML"; $message = " <html> <head> <title>Email HTML</title> </head> <body> <p>Email zawiera Tagi HTML!</p> <table> <tr> <th>Imię</th> <th>Przyjmuje nazwisko</th> </tr> <tr> <td>Bill</td> <td>Gates</td> </tr> </table> </body> </html> "; // Zawsze ustaw content-type, gdy wysyłasz e-mail HTML $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; // Więcej nagłówków $headers .= 'From: <webmaster@example.com>' . "\r\n"; $headers .= 'Cc: myboss@example.com' . "\r\n"; mail($to,$subject,$message,$headers); ?>