Программирование с нуля - это совсем просто! 114) Курс PHP: Отправка писем
Школа программирования
114) Курс PHP: Отправка писем
Последний выпуск по PHP - был в выпуске N 111.
Универсальная функция PHP под названием mail() позволяет рассылать письма с программно подготовленным содержимым. Эта функция имеет три обязательных параметра и несколько необязательных.
Первые три параметра, которые должны присутствовать всегда:
адрес (e-mail) получателя; заголовок (subject) письма; текстовое содержимое письма.
Например, в простейшем случае отправка письма может выглядеть так:
На адрес vova@vovan.ru после выполнения данной функции будет отправлено письмо с заголовком
'Срочно прочитать!' и текстовой строкой 'Вова, перезвони!'.
Важно! Далеко не все провайдеры хостинга позволяют рассылать письма с помощью PHP-скриптов. Связано это прежде всего в целях борьбы со спамом.
Адресов получателей может быть несколько, они в таком случае перечисляются через запятую (внутри строки).
Функция mail() возвращает логическое значение - true, если отправка удалась успешно (что, впрочем, не гарантирует реальной отправки письма в случае сбоя почтового сервера), и false, если такая отправка невозможна.
При желании содержимое письма (третий параметр) можно выполнить как html-данные, чтобы у получателя оно было показано в сверстанном виде (если его почтовый клиент поддерживает html-формат):
Четвертый, необязательный параметр - это дополнительные заголовки письма (информация об отправителе, кодировке, версии почтовой программы, скрытых копиях и т. д.). Каждый заголовок отделяется от предыдущего комбинацией символов "\r\n", а в начале его ставится соответствующее служебное обозначение типа заголовка.
Важно! Проверьте, чтобы содержимое письма, если используются русские буквы, совпадало по кодировке с набором, указанным в разделе "Content-Type".
Если требуется отправить письмо с вложением, надо:
а) в дополнительных заголовках указать, какой файл вкладывается в письмо. Например, если надо отправить файл-изображение dog.jpg, то в соответствующем разделе заголовка надо указать следующее:
Content-Type: image/jpg; name= 'dog.jpg'
Файл будет отображен в теле письма, если клиентская почтовая программа умеет это делать.
Если же данные отправляются в другом формате (например, .doc, .zip), то нужно воспользоваться каким-либо другим стандартным обозначением вложения (они описаны в спецификации электронной почты RFC-822 и др, http://www.faqs.org/rfcs/).
б) указать версию кодировщика и способ кодирования (MIME/base64):
в) подготовить содержимое письма в кодировке base64. Для этого воспользоваться функцией base64_encode(), которая получает в качестве параметра строку с исходным содержимым, а возвращает ее закодированное представление:
/*
загружаем в переменную $s например двоичное содержимое файла
dog.jpg,
считывая его побайтно в символы строки $s.
*/
В книге рассмотрены новые возможности системы программирования Delphi 2006 и представлены нововведения в языке, оболочке, редакторе, компиляторе и отладчике. Объяснены новые технологии работы с базами данных и создания приложений для Интернета. Особое внимание уделено средствам и технологиям повышения эффективности работы программистов: рефакторингу, шаблонам проектирования, унифицированному языку UML и технологии моделирования ECO.
Издание рассчитано на программистов всех уровней подготовки. Начинающие разработчики познакомятся с удобными средствами быстрого создания программ, программисты средней квалификации изучат современные подходы к разработке сложных систем и новые средства визуального проектирования, а профессионалам будут интересны новые возможности технологий моделирования ECO III, UML 2.0 и паттернов проектирования.