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);
?>