Отправка почты средствами php

апрель 23 , 2015
Метки:

Для отправки почты всегда можно подключить класс вроде PHPMailer. Но что если не хочется для такого простого действия тащить лишнюю библиотеку, а стандартная функция mail() отправляет некрасивые заголовки. Рассмотрим расширенную на пару строк функцию mail(), которая избавляет от этой проблемы

Главная проблема при использовании стандартной функции mail() - это правильные заголовки. Напишем функцию

    function sendMail($subj, $from_site, $from_email, $to_email, $message) {
        $headers = "Content-type: text/html; charset=utf-8 \r\n";
        $headers .= 'From: =?utf-8?B?' . base64_encode($from_site) . '?=<' . $from_email . '>';
        return mail($to_email, $subj, $message, $headers);
    }
    
    $message = 'Поздравляем! Вы успешно зарегистрировались на сайте mysite.com'
    if (sendMail('Регистрация на сайте mysite.com', 'Интернет-магазин игрушек mysite.com', 'noreply@mysite.com', 'test@yandex.ru', $message))
        echo 'Письмо успешно отправлено!';
    else
        echo 'Что-то пошло не так...';

Главное отличие этого примера от отправки mail() без последнего параметра заключается в том, что теперь мы можем сами указывать в качестве отправителя письма нужные значения, например. И тогда получивший письмо в своем почтовом клиенте в поле От кого увидит не страшную надпись вроде "andrey.petrov@provider-name.com" (из собственного опыта), а вполне человеческое "Интернет-магазин одежды и обуви Рога и Копыта"

Метки:
Заходите в группу в контакте - https://vk.com/webdevkin
Анонсы статей, обсуждения интернет-магазинов, vue, фронтенда, php, гита.
Истории из жизни айти и обсуждение кода.
Как Вам статья? Оцените!