Я написал новый скрипт php, но у меня возникает проблема, когда я пытаюсь подключиться к серверу, у которого истек срок действия сертификата:
Я могу использовать тот же smtp IP: порт в программе Windows, и она отлично работает.
Я могу использовать его и работать с Thunderbird, но он выдал мне сертификат с истекшим сроком до отправки любой вещи
Код ниже.
<?php
/**
* Created by PhpStorm.
* User: n0b0dy
* Date: 11/1/18
* Time: 9:40 PM
*/
require("/usr/share/php/libphp-phpmailer/class.phpmailer.php");
require '/usr/share/php/libphp-phpmailer/PHPMailerAutoload.php';
require '/usr/share/php/libphp-phpmailer/autoload.php';
require '/usr/share/php/libphp-phpmailer/class.smtp.php';
$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
/**
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => true,
'verify_depth' => 3,
)
);
*/
$mail->SMTPDebug = 4; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = 0; // authentication enabled
#$mail->SMTPAutoTLS = false;
$mail->Host = 'ssl://75.101.161.108:465';
$mail->IsHTML(true);
$mail->SetFrom("any@any.com");##### Dont care about email because of problem with connection
$mail->Subject = "Test";
$mail->Body = "hello";
$mail->AddAddress("any@gmail.com");
if(!$mail->Send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
echo "Message has been sent";
}
?>
и это проблема для Phpmailer
2018-11-02 06:38:23 Connection: opening to ssl://75.101.161.108:465, timeout=300, options=array (
)
2018-11-02 06:38:24 SMTP ERROR: Failed to connect to server: (0)
2018-11-02 06:38:24 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting%
B - pearemail с настройкой smtp и кодом здесь
<?php
require_once "Mail.php";
include('Mail/mime.php');
$html = "TEST";// HTML version of the email
$crlf = "\r\n";
$headers = array('From' => "Test<example@any.com>",'To' => 'any@gmail.com', 'Return-Path' => 'example@any.com', 'Subject' => 'Form Pear Email');
$mime = new Mail_mime($crlf);
$mime->setHTMLBody($html);
$body = $mime->get();
$headers = $mime->headers($headers);
$smtpinfo["host"] = 'ssl://75.101.161.108';
$smtpinfo["port"] = '465';
$smtpinfo["auth"] = "false";
$smtpinfo["socket_options"] = array('ssl' => array('verify_peer_name' => false,'verify_peer' => false,'allow_self_signed' => true));
$smtpinfo["timeout"] = "10";
$smtpinfo["debug"] = "true";
$smtp = Mail::factory('smtp',$smtpinfo);
$mail = $smtp->send('any@gmail.com', $headers, $body);
if (PEAR::isError($mail)) {
echo($mail->getMessage());
} else {
echo("WORKING\n");
}
?>
и связанная с этим проблема,
DEBUG: Send: QUIT
Failed to connect to ssl://75.101.161.108:465 [SMTP: Failed to connect socket: stream_socket_client(): unable to connect to ssl://75.101.161.108:465 (Unknown error) (code: -1, response: )]
я использую openssl с этой командой
openssl s_client -connect 75.101.161.108:465
результат
CONNECTED(00000003)
140527088361920:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../ssl/record/rec_layer_s3.c:1399:SSL alert number 40
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 176 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1541150392
Timeout : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: no
---
Так, пожалуйста, кто-нибудь может мне помочь?
С наилучшими пожеланиями