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:
//This example shows making an SMTP connection with authentication. //SMTP needs accurate times, and the PHP time zone MUST be set //This should be done in your php.ini, but this is how to do it if you don't have access to that date_default_timezone_set('Etc/UTC'); require 'PHPMailer/PHPMailerAutoload.php'; //Create a new PHPMailer instance $mail = new PHPMailer; //Tell PHPMailer to use SMTP $mail->isSMTP(); //Enable SMTP debugging // 0 = off (for production use) // 1 = client messages // 2 = client and server messages $mail->SMTPDebug = 2; //Ask for HTML-friendly debug output $mail->Debugoutput = 'html'; //Set the hostname of the mail server $mail->Host = 'mail.web-solutions.dk'; //Set the SMTP port number - likely to be 25, 465 or 587 $mail->Port = 465; //Whether to use SMTP authentication $mail->SMTPSecure = 'ssl'; $mail->SMTPAuth = true; //Username to use for SMTP authentication $mail->Username = 'user@domain.tld'; //Password to use for SMTP authentication $mail->Password = 'user-password'; //Set who the message is to be sent from $mail->setFrom('email@from', 'Name'); //Set who the message is to be sent to $mail->addAddress('email@to', 'Name'); //Set the subject line $mail->Subject = 'Here is the subject'; //Message body $mail->Body = 'This is the HTML message body in bold'; //Replace the plain text body with one created manually $mail->AltBody = 'This is a plain-text message body'; //send the message, check for errors if (!$mail->send()) { echo 'Mailer Error: ' . $mail->ErrorInfo; } else { echo 'Message sent!'; }
Będziesz potrzebował następujących danych:
Pełna dokumentacja jest dostępna tutaj.
Wróc Ostatnia aktualizacja: August 23, 2018 przez