gpt4 book ai didi

PHPList 对于带有前导、尾随或多个相邻点的电子邮件地址失败

转载 作者:行者123 更新时间:2023-12-04 05:58:56 25 4
gpt4 key购买 nike

PHPList(版本 2.10.17)无法向匹配以下格式之一的地址发送消息:

my..Name@domain.com
myName.@domain.com
.myName@domain.com

错误信息是 Could not instantiate mail function.有问题的代码是:
function MailSend($header, $body) {
$to = "";
for($i = 0; $i < count($this->to); $i++)
{
if($i != 0) { $to .= ", "; }
$to .= $this->to[$i][0];
}

if ($this->Sender != "" && (bool) ini_get("safe_mode") === FALSE)
{
$old_from = ini_get("sendmail_from");
ini_set("sendmail_from", $this->Sender);
$params = sprintf("-oi -f %s", $this->Sender);
$rt = @mail($to, $this->EncodeHeader($this->Subject), $body,
$header, $params);
}
else
$rt = @mail($to, $this->EncodeHeader($this->Subject), $body, $header);

if (isset($old_from))
ini_set("sendmail_from", $old_from);

if(!$rt)
{
$this->SetError($this->Lang("instantiate"));
return false;
}

return true;
}

选择的代码路径是:
   else
$rt = @mail($to, $this->EncodeHeader($this->Subject), $body, $header);

我无法在我自己的网络服务器上重现此错误,我在该服务器上设置了 PHPList 以进行测试。
不幸的是,唯一显示这种行为的系统是生产系统。除此之外,我无权访问该系统上的任何日志文件 - 所以我真的不知道出了什么问题。
我最好的猜测是, $to 上的某种“字符串转义”需要使这项工作,但我有点不愿意篡改生产系统(除了插入一些日志输出)。

有谁知道此类问题的解决方法?

最佳答案

这不是错误,而是预期的行为。电子邮件地址的本地部分( @ 之前的部分)可能包含 . ,前提是它不是第一个或最后一个字符,并且它不会连续出现两次或多次。这意味着所有三个示例都是无效的电子邮件地址。

阅读更多关于 valid email addresses .

关于PHPList 对于带有前导、尾随或多个相邻点的电子邮件地址失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9166766/

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