phpmailer не уважает шифрование "none" - PullRequest
0 голосов
/ 01 марта 2020

Я пытаюсь отправить письмо через phpmailer. Я установил шифрование «none» для отправки с использованием открытого текста, однако он запускает TLS. Я могу вручную набрать lnet на сервере и успешно отправить электронное письмо в виде открытого текста, что означает, что сервер поддерживает открытый текст и не поддерживает TLS. Вот настройки и трафик c захвата:

$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = 0;
$mail->Debugoutput = 'html';
$mail->Host = MAILSRV;
$mail->Port = "25";
$mail->SMTPSecure = "none";
$mail->SMTPAuth = "1";
$mail->Username = MAILUSER;
$mail->Password = MAILPASS;
$mail->IsHTML(true);
$mail->setFrom(MAILFROM, "Test");
$mail->CharSet = "utf-8";
$mail->Encoding = "base64";
$mail->addAddress(MAILTO);
$mail->Subject = SUBJECT;
$mail->msgHTML(BODY);

enter image description here

Сервер отправляет RST после приветствия клиента. Как настроить phpmailer на отправку электронной почты без шифрования?

1 Ответ

0 голосов
/ 01 марта 2020

Не выдумывай случайных вещей и ожидай, что это сработает; обратите внимание на правильные типы и значения свойств PHPMailer, в идеале читая документацию API .

$mail->Port = "25";

Port - это целое число, а не строка.

$mail->SMTPSecure = "none";

Если вы пытаетесь отключить его, установите для него пустую строку (как говорит исходный код), а не какое-то случайное значение, хотя оно по умолчанию отключено, так что вам все равно не придется делать это.

$mail->SMTPAuth = "1";

Это логическое значение, и по умолчанию оно уже имеет значение false.

$mail->Encoding = "base64";

Как правило, это плохая идея, и ваши сообщения с большей вероятностью будут классифицированы как спам.

Но чтобы перейти к сути вашего вопроса, PHPMailer использует подходящее шифрование c, что означает, что если ваш сервер объявит об этом, PHPMailer автоматически попытается использовать его. В некоторых случаях это может завершиться ошибкой, обычно, когда целевой почтовый сервер каким-то образом неправильно настроен, но вы ищете следующее:

$mail->SMTPAutoTLS = false;

и документация по нему здесь .

...