PHP/Wysyłanie e-maili: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Nie podano opisu zmian
 
Linia 9:
Aby wysłać e-maila za pomocą PHP, musimy użyć do tego funkcji ''mail()''. Jej składnia jest następująca:
 
<sourcesyntaxhighlight lang="php">mail(adresat, temat, wiadomość[, nagłówki[, parametry]])</sourcesyntaxhighlight>
 
Funkcja zwraca wartość '''TRUE''', jeżeli wiadomość została poprawnie przekazana serwerowi poczty.
Linia 21:
Następujący przykład spowoduje wysłanie wiadomości e-mail na adres ''jan_testowy@serwer.pl'' o temacie "Witaj" i treści "Oto test funkcji mail":
 
<sourcesyntaxhighlight lang="php"><?php
if(mail('jan_testowy@serwer.pl', 'Witaj', 'Oto test funkcji mail'))
{
echo 'Wiadomość została wysłana';
}
</syntaxhighlight>
</source>
 
Nagłówki pozwalają na ustawienie dodatkowych informacji o wiadomości, np. jej nadawcy lub kodowaniu znaków:
Możemy również użyć zmiennych:
 
<sourcesyntaxhighlight lang="php"><?php
$naglowki = "From: moj@mail.pl".PHP_EOL."Reply-To: moj@mail.pl".PHP_EOL."Content-type: text/plain; charset=iso-8859-2";
 
Linia 38:
echo 'Wiadomość została wysłana';
}
</syntaxhighlight>
</source>
 
Nagłówki można podać zarówno wewnątrz cudzysłowów, jak i apostrofów. Użyto tutaj stałej PHP_EOL, zmiennej środowiskowej. Przejść do nowej linii można na dwa sposoby. Pierwszy, uniwersalny i mniej popularny to ta stała, drugi - zależny od systemu serwera - \r\n dla Windows, \n dla Linuksa i \r dla Mac'a. Wewnątrz edytora najlepiej podawać wszystkie nagłówki w jednym ciągu i zejścia zaznaczać przy użyciu właśnie tych kodów. Inaczej może to spowodować wysłanie niepoprawnej wiadomości, gdyż niektóre edytory mają tendencję do zniekształcania tych zejść.
Linia 48:
Z poziomu PHP można także wysyłać e-maile w formacie HTML. W tym celu należy dodać do wiadomości odpowiednie nagłówki:
 
<sourcesyntaxhighlight lang="php"><?php
// Naglowki mozna sformatowac tez w ten sposob.
$naglowki = "Reply-to: moj@mail.pl <moj@mail.pl>".PHP_EOL;
Linia 70:
echo 'Wiadomość została wysłana';
}
</syntaxhighlight>
</source>
 
{{Porada|Niektórzy programiści piszą własne implementacje funkcji ''mail()'', samodzielnie łącząc się z serwerem i obsługując protokół SMTP. Pozwala to na uniezależnienie się od ustawień połączenia w pliku ''php.ini'', lecz jest skomplikowane i nie będziemy się tym zagadnieniem tu zajmować. Warto jest poznać możliwości biblioteki PHPmailer.}}