Tag Archives: mail

Отправка e-mail использую функцию mail на php. Что делать если не доходят письма.

Недавно делал свою функцию регистрации пользователя и столкнулся с проблемой что письма просто не доходят. Их нет в спаме, но при отправке функция mail возвращает true, что говорит о том что письмо отправлено успешно. И так начнем с кода самой функции для отправки письма.

function mailutf8($to,$title,$body,$from_name="ikurs",$from_email = "info@ikurs.kz", $reply="info@ikurs.kz")
{
    $title= "=?utf-8?b?".base64_encode($title)."?=";
    $headers = "MIME-Version: 1.0\r\n";
    $headers.= "From: =?utf-8?b?".base64_encode($from_name)."?= <".$from_email.">\r\n";
    $headers.= "Content-Type: text/html;charset=utf-8\r\n";
    $headers.= "Reply-To: $reply\r\n";  
    $headers.= "X-Mailer: PHP/" . phpversion();
    mail($to, $title, $body, $headers);
}

Данная функция задает заголовки и позволяет использовать в тексте письма кодировку utf-8 и html теги.

Что делать если письма не доходят когда используешь функцию mail на php?

В моем случае все оказалось просто. Я отсылал ссылку на сторонний домен и из за этого письма не доходили. После того как я убрал ссылку из текста письма то все стало доходить.
Пробовал различные варианты, как доставить ссылку на сторонний домен. Но ничего не вышло. Ни текст ни какие либо другие подходы не дали результата. В общем мой вердикт такой, если не доходят письма то или у вас проблемы в коде. Поможет функция которую я выложил. Или же есть проблемы с настройкой почтового сервера. В этом случае обратитесь в тех поддержку хостинга. Не используйте ссылки на сторонние домены. Это тоже приводит к проблемам при рассылке. Так же не забываем проверять что возвращает функция mail. При успешной отправке письма она должна вернуть true.
Удачи с рассылками. Надеюсь моя статья помогла вам.