PHPMailer установка на сервер
пытаюсь использовать phpmailer на сервере предприятия. Настраиваю следующим образом:
$mail = new PHPMailer;
$mail->SMTPDebug = 3;
$mail->isSMTP();
$mail->Host = 'gate';
$mail->SMTPAuth = false;
$mail->Username = '';
$mail->Password = '';
$mail->SMTPSecure = 'tls';
$mail->Port = 25;
$mail->setFrom('[email protected]');
$mail->addAddress("$my_mail");
$mail->isHTML(true);
Но получаю следующее:
2021-06-22 13:24:38 Connection: opening to gate:25, timeout=300, options=array()
2021-06-22 13:24:38 Connection: opened
2021-06-22 13:24:38 SERVER -> CLIENT: 220 tret.in.ru ESMTP Postfix
2021-06-22 13:24:38 CLIENT -> SERVER: EHLO srv
2021-06-22 13:24:38 SERVER -> CLIENT: 250-tret.in.ru250-PIPELINING250-SIZE 157286400250-ETRN250-STARTTLS250-ENHANCEDSTATUSCODES250-8BITMIME250-DSN250-SMTPUTF8250 CHUNKING
2021-06-22 13:24:38 CLIENT -> SERVER: STARTTLS
2021-06-22 13:24:38 SERVER -> CLIENT: 220 2.0.0 Ready to start TLS
2021-06-22 13:24:38 Connection failed. Error #2: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed [D:\Server\data\htdocs\archive_documentation\forgotpassword\PHPMailer-master\src\SMTP.php line 468]
SMTP Error: Could not connect to SMTP host.
2021-06-22 13:24:38 CLIENT -> SERVER: QUIT
2021-06-22 13:24:38
2021-06-22 13:24:38
2021-06-22 13:24:38 Connection: closed
SMTP Error: Could not connect to SMTP host.
Fatal error: Uncaught PHPMailer\PHPMailer\Exception: SMTP Error: Could not connect to SMTP host.
in D:\Server\data\htdocs\archive_documentation\forgotpassword\PHPMailer-master\src\PHPMailer.php:2136
Stack trace: #0 D:\Server\data\htdocs\archive_documentation\forgotpassword\PHPMailer-master\src\PHPMailer.php(1960):
PHPMailer\PHPMailer\PHPMailer->smtpConnect(Array) #1 D:\Server\data\htdocs\archive_documentation\forgotpassword\PHPMailer-master\src\PHPMailer.php(1638):
PHPMailer\PHPMailer\PHPMailer->smtpSend('Date: Tue, 22 J...', 'This is a multi...') #2 D:\Server\data\htdocs\archive_documentation\forgotpassword\PHPMailer-master\src\PHPMailer.php(1471):
PHPMailer\PHPMailer\PHPMailer->postSend() #3 D:\Server\data\htdocs\archive_documentation\forgotpassword\forgotpassword_query.php(52): PHPMailer\PHPMailer\PHPMailer->send() #4 {main}
thrown in D:\Server\data\htdocs\archive_documentation\forgotpassword\PHPMailer-master\src\PHPMailer.php on line 2136
В чем может быть проблема? Может нужно какое-то почтовое приложение устанавливать для этого? До этого тестил это на openserver, все работало.
После удаления $mail->isSMTP();
Sending with mail()
Sendmail path:
Envelope sender: [email protected]
To: [email protected]
Subject: Password
Headers: Date: Tue, 13 Jul 2021 10:45:55 +0000From: [email protected]: <vQYd7w7uiTPiyUnLEqgsK7jZEiQNK4OhB2UYnWSI@smk-srv>X-Mailer: PHPMailer 6.5.0 (https://github.com/PHPMailer/PHPMailer)MIME-Version: 1.0Content-Type: multipart/alternative; boundary="b1_vQYd7w7uiTPiyUnLEqgsK7jZEiQNK4OhB2UYnWSI"Content-Transfer-Encoding: 8bit
Additional params: [email protected]
Result: false
Could not instantiate mail function.
Fatal error: Uncaught PHPMailer\PHPMailer\Exception: Could not instantiate mail function.
in D:\Server\data\htdocs\archive_documentation\forgotpassword\PHPMailer-master\src\PHPMailer.php:1907
Stack trace: #0 D:\Server\data\htdocs\archive_documentation\forgotpassword\PHPMailer-master\src\PHPMailer.php(1640):
PHPMailer\PHPMailer\PHPMailer->mailSend('Date: Tue, 13 J...', 'This is a multi...')
#1 D:\Server\data\htdocs\archive_documentation\forgotpassword\PHPMailer-master\src\PHPMailer.php(1471):
PHPMailer\PHPMailer\PHPMailer->postSend() #2 D:\Server\data\htdocs\archive_documentation\forgotpassword\forgotpassword_query.php(51):
PHPMailer\PHPMailer\PHPMailer->send() #3 {main} thrown in D:\Server\data\htdocs\archive_documentation\forgotpassword\PHPMailer-master\src\PHPMailer.php on line 1907
Ответы (1 шт):
Автор решения: Андрей Петрица
→ Ссылка
Какая-то проблема с SSL сертефикатом на вашем сервере. Попробуйте отключить SSL (не вызывать метод ->isSmtp()).