一尘不染

邮件返回假

php

我目前在工作中使用的是自定义库。直到刚刚结束,图书馆才运转良好。从今天开始,它显然返回false。

库本身基本上是函数邮件的包装器。它构建“边界”部分以及所有内容。

由于该类足够大,因此我不会在此处发布它……但是我想知道,理论上为什么邮件返回假的原因是什么?

  • SMTP是在PHP.ini中设置的
  • 发件人设置在标题中
  • 发件人为int形式:sender<sender@email.com>
  • 一切都正确发送(body + headers + subject)
  • 假设mail()在网站上正常工作,但在此特定页面上却不能正常工作。我知道这一定是我要来的,但是找个地方开始寻找会很有趣。
  • 哦,是的,该库未记录在案。

[edit]刚刚发现了一个较小的函数,但仍然无法正常工作,我将其打印出来:

function send_html($from, $email, $subject = "AUCUN", $message, $cc = "", $bcc ="", $priotity = "3") {
    $headers = "";
    $headers .= "MIME-Version: 1.0\r\n"; 
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

    if (strpos($from, "ourwebsite.com") != false || strpos($from, "rencontresportive.com") != "") {
        $headers .= "From: Ourwebsite.com <" . $from . ">\r\n";
    } else {
        $headers .= "From: " . $from . " <" . $from . ">\r\n";
    }

    $headers .= "X-Sender: <" . $from . ">\r\n";
    $headers .= "X-Priority: " . $priotity . "\r\n";
    $headers .= "X-Mailer: PHP\r\n";
    $headers .= "Return-Path: <admin@ourwebsite.com>\r\n";

    if ($cc != "") {
        $headers .= "cc:" . $cc . "\r\n";
    }
    if ($bcc != "") {
        $headers .= "bcc:" . $bcc . "\r\n";
    }
        if (mail($email, $subject, $message, $headers)) {
        return true;
    } else {
        return false;
    }
}

我打电话给:

send_html(contact@ourwebsite.com, me@me.com, utf8_decode("the subject"), "<h1>test</h1>");

阅读 269

收藏
2020-05-29

共1个答案

一尘不染

如果该类只是函数邮件的包装,我将尝试将调用邮件函数时使用的参数打印到文件中

2020-05-29