Я написал следующий код для отправки электронного письма с моего сайта, размещенного в Namecheap.
<?php
include("constants.php");
require_once('libs/phpmailer/class.phpmailer.php');
require_once("libs/phpmailer/class.smtp.php");
require ("libs/phpmailer/PHPMailerAutoload.php");
try {
$mailer = new PHPMailer();
$mailer->IsSMTP();
$mailer->SMTPSecure = 'tls';
$mailer->Host = 'smtp.zoho.com';
$mailer->SMPTDebug = 2;
$mailer->Port = 587;
$mailer->Username = EMAIL;
$mailer->Password = PASSWORD;
$mailer->SMTPAuth = true;
$mailer->From = EMAIL;
$mailer->FromName = "User";
$mailer->Subject = 'New Query Received';
$mailer->isHTML(true);
$mailer->Body = '<p>Hello,</p><p> The following query was received from '.$_POST['name']. '.<br>"'. $_POST['message']. '"</p><p>'.'His email is '.$_POST['email'].'</p><p>Hope you will have a great day.</p><p>Best Regards,</p>';
$mailer->AddReplyTo(EMAIL_REC, 'Contact');
$mailer->AddAddress(ADDRESS, NAME);
$mailer->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
));
if ($mailer->Send()) {
echo "Sent";
}
else {
echo $mailer->ErrorInfo;
}
}
catch (phpmailerException $e) {
echo $e->errorMessage();
} catch (Exception $e) {
echo $e->getMessage();
}
header('Location:index.html');
exit;
?>
Я использую почту zoho для своего почтового хоста, но я попробовал то же самое, используя учетную запись gmail. Я уже перепроверил E-mail и его пароль.
Код прекрасно работает на моем локальном хосте, но вызывает «сбой SMTP connect ()» на сервере Namecheap.
Если я прокомментирую $ mailer-> IsSMTP (); тогда нет ошибок, но электронное письмо не отправляется.
Задача ещё не решена.
Других решений пока нет …