国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

PHP-Mail sendet besch?digte Header
P粉979586159
P粉979586159 2023-09-07 10:43:50
0
1
794

Ich arbeite daran, eine E-Mail über ein PHP-Skript zu senden. Wenn die mail()-Funktion ausgel?st wird, das Postfach des Empf?ngers von einem bestimmten Dienst (seznam.cz) gehostet wird und die Nachricht auf den E-Mail-Client (Mozilla Thunderbird) heruntergeladen und von ESET Antivirus überprüft wird, scheint die Nachricht besch?digt zu sein.

Ich glaube, dass das Problem dadurch verursacht wird, dass Antivirensoftware spezielle Header in E-Mail-Nachrichten einfügt und dahinter leere Zeilen hinterl?sst:

...
Subject: =?UTF-8?B?Tm92w70gxI1sZW4gd2VidSBBU1AgxIxSIQ==?=
X-EsetId: 37303A298C7FEE69657363

X-PHP-Originating-Script: 80:script.php
MIME-Version: 1.0
Content-type:text/html;charset=UTF-8
...

Mein E-Mail-Client geht davon aus, dass die Nachricht reiner Text ist und beginnt mit der Zeile X-PHP-Originating-Script. Der Rest der Nachricht enth?lt das gesamte HTML-Markup.

Dies ist das Skript, das ich zum Versenden der E-Mail verwende:

$subject = mb_encode_mimeheader('Subject text');
$emailBody = '<!DOCTYPE html>
<html lang="cs">
    ...
</html>';
$emailAltBody = "...";

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= 'From: <email.address@example.com>' . "\r\n";

$result = mail("email.address@example.com", $subject, $emailBody, $headers);

Bei Verwendung des Laravel-Frameworks werden E-Mails jedoch korrekt gesendet und angezeigt. Ich habe die Unterschiede verglichen und festgestellt, dass der X-PHP-Originating-Script-Header nicht von Laravel gesendet wird.

K?nnte das der Grund sein? Wie kann ich es l?sen?

P粉979586159
P粉979586159

Antworte allen(1)
P粉573943755

這可能只是不同行分隔符的問題。

直到 PHP 7.4 X-PHP-Originating-Script 之后的分隔符只是 \n (這已更改 在 PHP 8 中使用 \r\n ,甚至最近 在 master 中根據(jù)其他因素做出決定)。

由于所有其他標(biāo)頭都是使用 \r\n 連接的,因此防病毒軟件在添加標(biāo)頭時可能會造成一些混亂。這會導(dǎo)致雙換行,客戶端將其解釋為正文的開始。

使用顯示所有字符(包括 \n\r)的編輯器查看原始消息,您可能會更好地理解它。

解決方案是匹配 PHP 版本的行尾,或者在所有設(shè)置 mail.add_x_header = Off時刪除 X-PHP-Originating-Script 標(biāo)頭> 在 php.ini 中。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage