Поэтому я использую PHPMailer для отправки электронных писем с подтверждением бронирования пользователям. Он работал на месяцах, но внезапно он просто прекратил работать. Ничего не изменилось (по крайней мере, я ничего не менял). Файлы PHPMailer по-прежнему не повреждены, и я не играл с записями DNS/MX. Вот сценарий для отправки электронных писем. Он отправляет один пользователю и один для меня на мой местный адрес электронной почты. Письмо, направленное на меня, отправляется успешно, но клиент его не получает. Когда я пытаюсь отправить его только клиенту, в информации об отладке говорится, что письмо отправлено. Он продолжает говорить 250 OK
, ссылаясь на адрес получателя (что, я думаю, означает его принятие). Он также показывает сообщение в целом, а затем, в конце концов, он закрывает соединение. В сценарии он должен также echo "true"
, и он это делает. Тем не менее, у меня нет электронной почты. BTW, я использую PHPMailer, в частности, и только два файла, упомянутые в приведенных ниже сценариях, указаны ниже в сценарии нижеPHPMailer внезапно прекращает отправлять электронные письма на нелокальные адреса электронной почты
Вот сценарий для фактической отправки электронной почты.
<?php
include "connection.php";
session_start();
if(isset($_POST['problem_name'])){
$name = $_POST['name'];
$address = $_POST['address'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$model_name = $_POST['model_name'];
$problem_name = $_POST['problem_name'];
$package_name = $_POST['package_name'];
$price = $_POST['price'];
$query = "INSERT INTO ext_orders (`date`, `name`, `address`, `phone`, `email`, `product`, `problem`, `package`, `addons`, `price`) VALUES ('".date("Y/m/d")."', '".$name."', '".$address."', '".$phone."', '".$email."', '".$model_name."', '".$problem_name."', '".$package_name."', 'No', ".intval($price).")";
if(mysqli_query($link, $query)){
$latest_id = mysqli_insert_id($link);
/***** COMPOSING OF EMAIL TO CUSTOMER AND A BCC TO MOBILECARE ******/
$message=
'
<h1>Mobilecare Urgent Repair Order Confirmation</h1> <br />
<h3> Personal Details </h3><br/>
<b>Name:</b> '.$name.'<br />
<b>Urgent Repair Address:</b> '.$address.'<br />
<b>Email:</b> '.$email.'<br />
<b>Phone Number:</b> '.$phone.'<br />
<h3> Product and order details </h3><br/>
<b>Model:</b> '.$model_name.'<br/>
<b>Type of Repair:</b> '.$problem_name.'<br/>
<b>Price:</b> '.$price.'<br/><br/>
If there are any problems with the information above, please reply to this email!<br/><br/>
Thank you,<br/>
Mobilecare.
';
include "../phpmailer/class.smtp.php";
include "../phpmailer/class.phpmailer.php";
$mail = new PHPMailer();
//Tell PHPMailer to use SMTP
$mail->isSMTP();
$mail->SMTPDebug = true;
//Enable SMTP debugging
// 0 = off (for production use)
// 1 = client messages
// 2 = client and server messages
$mail->Host = localhost;
//Set who the message is to be sent from
$mail->setFrom('[email protected]', 'Mobilecare'); // [email protected]
//Set an alternative reply-to address
//$mail->addReplyTo('[email protected]', 'First Last');
//Set who the message is to be sent to
$mail->addAddress(''.$email.'', ''.$name.'');
// $mail->AddBCC("[email protected]", "Mobilecare"); // [email protected]
//Set the subject line
$mail->Subject = 'Mobilecare Order Confirmation';
//Read an HTML message body from an external file, convert referenced images to embedded,
//convert HTML into a basic plain-text alternative body
$mail->MsgHTML($message);
//Replace the plain text body with one created manually
$mail->AltBody = 'This is a plain-text message body';
if ($mail->send()) {
echo "true";
}
}
else{
echo "fail";
}
}
?>
Все ответы и комментарии будут оценены.
Я уже пробовал: - Комментирование $mail->isSMTP()
- Воспроизведение с MX Records (все изменения, вновь стали, хотя) - Redownloading PHPMailer (последняя версия)
Можете ли вы отправить почту из командной строки? – user2182349