Używam PHPmailera. Działa, gdy $ mail-> SMTPDebug = true; ale kiedy usunę tę linię, po cichu zawiedzie. Mówię, że po cichu zawodzi, ponieważ nie daje żadnych błędów, a jednak e-mail nie wydaje się być dostarczony.
$mail = new PHPMailer;
$mail->SMTPDebug = true;
$mail->SMTPAuth = true;
$mail->CharSet = "utf-8";
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = "465";
$mail->Username = "xxxxx@gmail.com";
$mail->Password = "xxxxx";
$mail->Mailer = "smtp";
$mail->AddReplyTo("support@xxxxx.com", "xxxxx Support");
$mail->From = "xxxxx@gmail.com";
$mail->FromName = "xxxxx Applications";
$mail->Sender = "xxxxx Applications";
$mail->Priority = 3;
//To us
$mail->AddAddress("xxxxx@xxxxx.com", "xxxxx xxxxx");
//To Applicant
$mail->AddAddress($email, $first_name."".$last_name);
$mail->IsHTML(true);
$last_4_digits = substr($card_num, -4);
//build email contents
$mail->Subject = "Application From ".$first_name." ".$last_name;
$mail->Body = $body_html;
$mail->AltBody = $body_text;
if(!$mail->send()) {
echo "Message could not be sent.";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
Odpowiedzi:
12 dla odpowiedzi № 1Przez ustawienie
$mail->SMTPDebug = false;
zamiast całkowicie pomijać linię, działa za każdym razem.