PHP mail() zazwyczaj nie pozwala na używanie zewnętrznego serwera SMTP i nie obsługuje uwierzytelniania SMTP – a jest to wymagane przez wiele serwerów pocztowych dzisiaj, m.in. nasze.
Aby połączyć się z naszym wychodzącym serwerem SMTP ze skryptu PHP za pomocą uwierzytelniania:
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'path/to/PHPMailer/src/Exception.php'; // Pamiętaj, aby ustawić prawidłową ścieżkę
require 'path/to/PHPMailer/src/PHPMailer.php'; // Pamiętaj, aby ustawić prawidłową ścieżkę
require 'path/to/PHPMailer/src/SMTP.php'; // Pamiętaj, aby ustawić prawidłową ścieżkę
// Utwórz instancję; przekazanie wartości `true` włącza obsługę wyjątków
$mail = new PHPMailer(true);
try {
$mail->SMTPDebug = SMTP::DEBUG_OFF; // Aby włączyć debugowanie, należy ustawić SMTP::DEBUG_SERVER
$mail->isSMTP();
$mail->Host = 'mail.web-solutions.eu';
$mail->SMTPAuth = true;
$mail->Username = 'user@domain.tld'; // Podaj adres email swojej skrzynki
$mail->Password = 'password'; // Podaj hasło do swojej skrzynki
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->Port = 465;
$mail->setFrom('from@domain.tld', 'From Name');
$mail->addAddress('to@domain.tld');
$mail->isHTML(true);
$mail->Subject = 'Tutaj podaj temat wiadomości';
$mail->Body = 'Tutaj wprowadź treść maila, możesz używać znaczników html!';
$mail->AltBody = 'Tutaj wprowadź treść wiadomości w postaci zwykłego tekstu przeznaczona dla klientów pocztowych nieobsługujących formatu HTML';
$mail->send();
echo 'Message has been sent';
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
Więcej informacji można znaleźć w oficjalnej dokumentacji.
Będziesz potrzebował następujących danych:
Wróc Ostatnia aktualizacja: August 23, 2018 przez