Я разместил свой сайт на Plesk Hosting и работал над отправкой контактной формы.
Установил PHP Mailer с помощью composer.
Первый
Я пытался отправить электронную почту, используя SMTP-сервер Gmail
это работало нормально
второй
Я пытался отправить электронное письмо, используя мой SMTP-сервер веб-хостинга
это не работает для меня
$mail->Host = 'webmail.abc.in'; //host
$mail->SMTPAuth = false;
$mail->Username = '******@abc.in';
$mail->Password = '*******';
$mail->SMTPSecure = 'tls';
$mail->Port = 25;
Я проверил SMPT-сервер, используя SMTPER . он может отправлять электронную почту, используя те же учетные данные.
я не знаю, где проблема ..
есть ли какая-либо другая библиотека, кроме phpmailer ??
Это пример кода, который я использую с Gmail. Протестировал это с веб-хостингом SMTP и работал так же.
` $mailMsg = ADD_MAIL_MESSAGE_HERE;
$mailto = ADD_TO_ADDRESS_HERE;
$mail = new PHPMailer\PHPMailer\PHPMailer();
$mail->IsSmtp();
$mail->SMTPDebug = 0;
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465;
$mail->IsHTML(true);
$mail->CharSet = 'UTF-8';
$mail->Username = ADD_USERNAME_HERE;
$mail->Password = ADD_PASSWORD_HERE;
$mail->SetFrom(ADD_FROM_ADDRESS_HERE);
//-------------------------------------------
$mail->Subject = ADD_MAIL_SUBJECT_HERE;
$mail->Body = $mailMsg;
$mail->AddAddress($mailto);
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
`
$mail->SMTPAuth = true;
Все так просто, я думаю.
Вы сказали, что проверили учетные данные на SMTPer,
Я уверен, что вы установили флажок «Использовать аутентификацию».
Может быть, вы думали, что можете сделать это ложным, потому что вы не используете SSL,
Но речь идет об аутентификации пользователя, а не о зашифрованной связи.
Вы используете общий хостинг с Plesk? Если да, то это может быть проблема блокировки порта (точную причину вы получите только в почтовом журнале). Глядя на ваш код, я вижу, что при локальном тестировании SMTP вы используете порт 25, а в случае Gmail — 465.
По умолчанию большинство провайдеров общего хостинга блокируют исходящее SMTP-соединение через порт 25. Это сделано для защиты сети и инфраструктуры от спама. Если это так, то вам нужно связаться со службой поддержки, чтобы разблокировать порт или использовать какой-либо свободный от порта режим отправки электронной почты. Значит, вместо того, чтобы подключаться через SMTP, подключаться через HTTP API для отправки электронной почты.