Я не могу отправлять почту с PHP с помощью PHPMailer.Ранее я пробовал то же самое через VB.NET, и он работал отлично.При попытке выдает ошибку ниже -
2019-05-13 15:15:46 Connection: opening to smtp-gw.abcd.com:25, timeout=300, options=array ( 'ssl' => array ( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true, ),)
2019-05-13 15:15:46 Connection: opened
2019-05-13 15:15:46 SMTP INBOUND: "220 Mail02.abcd.com ESMTP"
2019-05-13 15:15:46 SERVER -> CLIENT: 220 Mail02.abcd.com ESMTP
2019-05-13 15:15:46 CLIENT -> SERVER: EHLO localhost
2019-05-13 15:15:46 SMTP INBOUND: "250-Mail02.abcd.com"
2019-05-13 15:15:46 SMTP INBOUND: "250-8BITMIME"
2019-05-13 15:15:46 SMTP INBOUND: "250-SIZE 104857600"
2019-05-13 15:15:46 SMTP INBOUND: "250 STARTTLS"
2019-05-13 15:15:46 SERVER -> CLIENT: 250-Mail02.abcd.com250-8BITMIME250-SIZE 104857600250 STARTTLS
2019-05-13 15:15:46 CLIENT -> SERVER: STARTTLS
2019-05-13 15:15:46 SMTP INBOUND: "220 Go ahead with TLS"
2019-05-13 15:15:46 SERVER -> CLIENT: 220 Go ahead with TLS
2019-05-13 15:15:46 CLIENT -> SERVER: EHLO localhost
2019-05-13 15:15:46 SMTP INBOUND: "250-Mail02.abcd.com"
2019-05-13 15:15:46 SMTP INBOUND: "250-8BITMIME"
2019-05-13 15:15:46 SMTP INBOUND: "250 SIZE 104857600"
2019-05-13 15:15:46 SERVER -> CLIENT: 250-Mail02.abcd.com250-8BITMIME250 SIZE 104857600
SMTP Error: Could not authenticate.
2019-05-13 15:15:46 CLIENT -> SERVER: QUIT
2019-05-13 15:15:46 SMTP INBOUND: "221 Mail02.abcd.com"
2019-05-13 15:15:46 SERVER -> CLIENT: 221 Mail02.abcd.com
2019-05-13 15:15:46 Connection: closed
SMTP Error: Could not authenticate.
Message could not be sent. Mailer Error: SMTP Error: Could not authenticate.
Вот мой блок кода -
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
// Load Composer's autoloader
require '../vendor/autoload.php';
// Instantiation and passing `true` enables exceptions
$mail = new PHPMailer(true);
try {
//Server settings
$mail->SMTPDebug = 4; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp-gw.abcd.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'jobnotifier@abcd.com'; // SMTP username
$mail->Password = ''; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 25; // TCP port to connect to
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
Я не совсем уверен, чего мне здесь не хватает.Я знаю, что для аутентификации SMTP-сервера нет пароля.Вы также можете проверить то же самое в коде .NET.Вот мой код из VB.NET
Dim Smtp_Server As New SmtpClient
Dim e_mail As New MailMessage()
Smtp_Server.UseDefaultCredentials = False
Smtp_Server.Credentials = New Net.NetworkCredential("jobnotifier@abcd.com", "")
Smtp_Server.Port = 25
Smtp_Server.EnableSsl = False
Smtp_Server.Host = "smtp-gw.abcd.com"
Запрос помощи по этому вопросу.