Я использовал код ниже, чтобы попытаться отправить электронные письма тем, кто зарегистрировался на моем сайте, однако я не могу заставить код работать с моей учетной записью электронной почты, зарегистрированной на namecheap. Этот namecheap email configuration использовался, но, похоже, он все еще дает мне ошибку. Я пробовал один и тот же код с настройками hotmail, и он работает нормально.Соединение Отказано с помощью PHPMailer с учетными записями Namecheap
Ошибка
2016-06-17 09:28:33 SMTP ERROR: Failed to connect to server: Connection refused (61) 2016-06-17 09:28:33 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting Mailer: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Код
require_once('PHPMailerAutoload.php');
function sendmail($host, $username, $password, $to, $subject, $message, $fromName, $toName, $port, $debug) {
$mail = new PHPMailer();
$body = $message;
$mail->IsSMTP();
$mail->Host = $host;
if ($debug) $mail->SMTPDebug = 2;
$mail->SMTPAuth = true;
$mail->SMTPSecure = "tls";
$mail->Port = $port;
$mail->Username = $username;
$mail->Password = $password;
$mail->SetFrom($to, $name);
$mail->AddReplyTo($to, $name);
$mail->Subject = $subject;
$mail->AltBody = $message;
$mail->MsgHTML($body);
$address = $to;
$mail->AddAddress($address, $name);
if($mail->Send()) {
echo "Message sent";
} else {
echo "Mailer: " . $mail->ErrorInfo;
}
}
echo sendMail("mail.privateemail.com", "[email protected]", "password", "[email protected]", "Subject", "Message", "Name", "Sender Name", 25, true);
Вы не делаете ничего особенно плохого, но я вижу, что вы на основе кода на старом, например, так убедитесь, что вы используете [последние версии] (https://github.com/PHPMailer/PHPMailer). Похоже, ваш интернет-провайдер блокирует ваше исходящее соединение. Вероятно, они требуют, чтобы вы передавали свои собственные серверы. Все это описано в [руководстве по устранению неполадок PHPMailer] (https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting). – Synchro