gpt4 book ai didi

php - Linux 下 PHP mail() 的奇怪问题

转载 作者:搜寻专家 更新时间:2023-10-31 20:56:35 24 4
gpt4 key购买 nike

当它“在我的机器上工作”时就是这种情况。除了我的机器是 Windows,而目标是某种 Linux。

这个想法是 mail() 函数在 MIME-VersionContent-Type header 之间放置一个换行符,从而打破了整件事情。这是尽可能简化的代码:

<?php
$HTMLPart = chunk_split(base64_encode('<html><body style="color: red">Test.</body></html>'));
$PlaintextPart = chunk_split(base64_encode('>>> TEST <<<'));

$Headers =<<<AKAM
From: "My Test" <my@mail.com>
Reply-To: my@mail.com
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="9-1410065408-1410065408=:27514"
AKAM;

$Body =<<<AKAM
This is a multi-part message in MIME format.

--9-1410065408-1410065408=:27514
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: base64

$PlaintextPart
--9-1410065408-1410065408=:27514
Content-Type: text/html; charset="windows-1252"
Content-Transfer-Encoding: base64

$HTMLPart
--9-1410065408-1410065408=:27514--
AKAM;
echo 'Try 3: ';
echo mail('your@mail.com', 'Testmail', $Body, $Headers) ? 'WIN' : 'FAIL';
?>

最佳答案

您可能在那里有一个回车符和一个换行符。 Windows 使用 CR+LF 来结束行,但 Linux 单独使用换行符。

关于php - Linux 下 PHP mail() 的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/562635/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com