I'm currently using a custom made library at my job. Until just rencently the library was working perfectly. It apparently return false since about today.
The library itself it basically a wrapper around the function mail. It builds the "boundaries" parts and everything.
Since the class is quite big enough I wont post it here ... but I'm wondering, what are the reasons in theory of why mail would return false?
- SMTP is set in PHP.ini
- Sender is set in headers
- Sender is int the form of:
sender<[email protected]
>
- Everything is sent correctly (body+headers+subject)
- Assume that mail( ) works correctly on the website but on this specific page it just doesn't. I know it must be comming from me but would be fun to have somewhere to start looking for.
- Oh and yeah the library is undocumented.
[edit]
Just found a smaller function and still doesn't work, I'll print it out then:
function send_html($from, $email, $subject = "AUCUN", $message, $cc = "", $bcc ="", $priotity = "3") {
$headers = "";
$headers .= "MIME-Version: 1.0
";
$headers .= "Content-type: text/html; charset=iso-8859-1
";
if (strpos($from, "ourwebsite.com") != false || strpos($from, "rencontresportive.com") != "") {
$headers .= "From: Ourwebsite.com <" . $from . ">
";
} else {
$headers .= "From: " . $from . " <" . $from . ">
";
}
$headers .= "X-Sender: <" . $from . ">
";
$headers .= "X-Priority: " . $priotity . "
";
$headers .= "X-Mailer: PHP
";
$headers .= "Return-Path: <[email protected]>
";
if ($cc != "") {
$headers .= "cc:" . $cc . "
";
}
if ($bcc != "") {
$headers .= "bcc:" . $bcc . "
";
}
if (mail($email, $subject, $message, $headers)) {
return true;
} else {
return false;
}
}
I called it with :
send_html([email protected], [email protected], utf8_decode("the subject"), "<h1>test</h1>");
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…