В настоящее время я использую пользовательскую библиотеку на своей работе. Довольно просто библиотека работала отлично. Похоже, что он вернулся с сегодняшнего дня.
В самой библиотеке это оболочка вокруг функции mail. Он строит "границы" частей и всего.
Поскольку класс достаточно велик, я не буду публиковать его здесь... но мне интересно, каковы причины в теории того, почему почта вернет false?
- SMTP установлен в PHP.ini
- Отправитель настроен в заголовках
- Отправитель имеет форму:
sender<[email protected]
> - Все отправлено правильно (body + headers + subject)
- Предположим, что mail() работает правильно на веб-сайте, но на этой конкретной странице он просто не работает. Я знаю, что это должно происходить от меня, но было бы интересно, если бы где-то начали искать.
- О, и да, библиотека недокументирована.
[править] Просто нашел меньшую функцию и все еще не работает, я распечатаю ее:
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: <[email protected]>\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([email protected], [email protected], utf8_decode("the subject"), "<h1>test</h1>");