Я пытаюсь отправить почту через phpmailer с помощью smtp. Я использую хост, который я использую в своем Outlook, с тем же именем пользователя и паролем. Я получаю сообщение об ошибке. Может ли кто-нибудь помочь мне, как это исправить.
Моя ошибка:
SMTP -> ERROR: RCPT not accepted from server: 554 5.7.1 : Client host rejected: Access denied
SMTP Error: The following recipients failed: xxxxxxxxx.com Mailer Error: SMTP Error: The following recipients failed: xxxxxxxxxxxx.com
SMTP server error: 5.7.1 : Client host rejected: Access denied
Это код:
$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
//$mail->SMTPAuth = true; // authentication enabled
//$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
$mail->Host = "xxxxxxxxxxxxx";
$mail->Port = "587"; // or 587
$mail->IsHTML(true);
$mail->Username = "xxxxxxxxx";
$mail->Password = "xxxxxxxxxx";
$mail->SetFrom("cpn@xichlomobile.com");
$mail->Subject = "Price Change Notification";
$mail->Body = "Test E-mail";
$mail->AddAddress("a.raja@xichlomobile.com");
if(!$mail->Send()){
echo "Mailer Error: " . $mail->ErrorInfo;
}
else{
echo "Message has been sent";
}
Не зная, какой почтовый сервер вы используете, сложно уточнить, но многие люди блокируют свои почтовые серверы, чтобы вы могли отправлять почту только с утвержденных IP-адресов. Похоже, что это так. Вам нужно будет поговорить с человеком, который управляет вашим почтовым сервером, и заставить его разрешить веб-серверу отправлять почту.
Попробуйте найти, если Вас нет в черном списке:
На случай, если кто-то раскопается в проблеме выше, убедитесь, что ваше имя пользователя совпадает с SetFrom
адрес. Некоторые конфигурации почтового сервера не позволяют использовать разные адреса отправителей. Другой вариант - просто добавить псевдоним почты к фактической учетной записи почты.