Я пытаюсь заставить phpmailer обрабатывать запросы контактов на моем сайте, но, что бы я ни пытался, я получаю ошибки. Ниже приведен код, который я использую. SMTP-сервер, логин и пароль отлично работают в Thunderbird.
<html>
<body>
<center>
<br><br><br><br><br><br><br><br>
<p style="font-family:verdana">
Thank you, <?php echo $_POST["fname"]; ?> <?php echo $_POST["lname"]; ?>, for your message!<br>
We will contact you shortly on : <?php echo $_POST["email"]; ?>
</p>
<a href="../../index.html">
<img src="../../assets/images/logo-medium.jpg">
</a>
<?php
//require_once('PHPMailerAutoload.php');
require "vendor/autoload.php";
$errors = '';
$myemail = '****@****.com';
$mypassword = '*******';
if(empty($_POST['fname']) ||
empty($_POST['lname']) ||
empty($_POST['email']) ||
empty($_POST['subject']) ||
empty($_POST['message']))
{
$errors .= "\n Erreur: All fields are required!";
}
$name = $_POST['fname'] . ' ' . $_POST['lname'];
$email_address = $_POST['email'];
$message = 'From : ' . $name . '\n Concerning : ' . $_POST['subject'] . '\n\n' . $_POST['message'] ;
$subject = 'Request from site : ' . $_POST['subject'];
$mail = new PHPMailer();
$mail-> isSMTP();
$mail-> SMTPAuth = true;
$mail-> AuthType = 'LOGIN';
$mail-> SMTPSecure = 'ssl';
$mail-> SMTPHost = 'ssl0.ovh.net';
$mail->Host = 'ssl://ssl0.ovh.net:465';
$mail-> SMTPDebug = 3;
$mail-> Port ='465';
$mail-> isHTML();
$mail-> UserName=$myemail;
$mail-> Password=$mypassword;
$mail-> SetFrom = $myemail;
$mail-> Subject = $subject;
//$mail-> AddAddress($myemail);
$mail-> AddAddress('*****@****.com');
$mail -> Body = $message;
if( empty($errors))
{
$mail -> Send();
}
//else
//print $errors;
?>
</center>
</body>
</html>
В Thunderbird в качестве настроек SMTP используется порт 465. Безопасность SSL / TLS для подключения и способ аутентификации - обычный пароль.
Вывод Debug при отправке формы:
2018-06-27 07:59:17 Connection: opening to ssl://ssl0.ovh.net:465, timeout=300, options=array ( )
2018-06-27 07:59:17 Connection: opened
2018-06-27 07:59:17 SERVER -> CLIENT: 220 ssl0.ovh.net player732
2018-06-27 07:59:17 CLIENT -> SERVER: EHLO www.*****.com
2018-06-27 07:59:17 SERVER -> CLIENT: 250-player732.ha.ovh.net 250-SIZE 104857600 250-AUTH PLAIN LOGIN 250-AUTH=PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250 8BITMIME
2018-06-27 07:59:17 CLIENT -> SERVER: AUTH LOGIN
2018-06-27 07:59:17 SERVER -> CLIENT: 334 VXNlcm5hbWU6
2018-06-27 07:59:17 CLIENT -> SERVER:
2018-06-27 07:59:19 SERVER -> CLIENT: 535 5.7.8 Error: authentication failed: VXNlcm5hbWU6
2018-06-27 07:59:19 SMTP ERROR: Username command failed: 535 5.7.8 Error: authentication failed: VXNlcm5hbWU6
2018-06-27 07:59:19 SMTP Error: Could not authenticate.
2018-06-27 07:59:19 CLIENT -> SERVER: QUIT
2018-06-27 07:59:19 SERVER -> CLIENT: 221 2.0.0 Bye
2018-06-27 07:59:19 Connection: closed
2018-06-27 07:59:19 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Я пытался включить и отключить различные параметры для AUthtype, SMTPAuth и т. Д., Но не получил более качественных результатов.
Есть ли что-то еще, чтобы изменить или альтернатива phpmailer, которая могла бы работать лучше?