Учебники

PHP — отправка писем с использованием PHP

PHP должен быть правильно настроен в файле php.ini с подробной информацией о том, как ваша система отправляет электронную почту. Откройте файл php.ini, доступный в каталоге / etc /, и найдите раздел, озаглавленный [mail function] .

Пользователи Windows должны обеспечить наличие двух директив. Первый называется SMTP, который определяет адрес вашего почтового сервера. Второй называется sendmail_from, который определяет ваш собственный адрес электронной почты.

Конфигурация для Windows должна выглядеть примерно так:

[mail function]
; For Win32 only.
SMTP = smtp.secureserver.net

; For win32 only
sendmail_from = [email protected]

Пользователи Linux просто должны сообщить PHP местоположение своего приложения sendmail . Путь и любые требуемые ключи должны быть указаны в директиве sendmail_path.

Конфигурация для Linux должна выглядеть примерно так:

[mail function]
; For Win32 only.
SMTP = 

; For win32 only
sendmail_from = 

; For Unix only
sendmail_path = /usr/sbin/sendmail -t -i

Теперь вы готовы к работе —

Отправка простого текстового электронного письма

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

mail( to, subject, message, headers, parameters );

Вот описание для каждого параметра.

Sr.No Параметр и описание
1

в

Необходимые. Определяет получателя / получателя электронной почты

2

предмет

Необходимые. Определяет тему письма. Этот параметр не может содержать символы новой строки

3

сообщение

Необходимые. Определяет сообщение для отправки. Каждая строка должна быть разделена LF (\ n). Строки не должны превышать 70 символов

4

заголовки

Необязательный. Определяет дополнительные заголовки, такие как From, Cc и Bcc. Дополнительные заголовки должны быть разделены CRLF (\ r \ n)

5

параметры

Необязательный. Определяет дополнительный параметр для программы отправки почты

в

Необходимые. Определяет получателя / получателя электронной почты

предмет

Необходимые. Определяет тему письма. Этот параметр не может содержать символы новой строки

сообщение

Необходимые. Определяет сообщение для отправки. Каждая строка должна быть разделена LF (\ n). Строки не должны превышать 70 символов

заголовки

Необязательный. Определяет дополнительные заголовки, такие как From, Cc и Bcc. Дополнительные заголовки должны быть разделены CRLF (\ r \ n)

параметры

Необязательный. Определяет дополнительный параметр для программы отправки почты

Как только функция mail будет вызвана, PHP попытается отправить электронное письмо, тогда она вернет true в случае успеха или false в случае неудачи.

В качестве первого аргумента функции mail () в списке через запятую можно указать несколько получателей.

Отправка электронной почты в формате HTML

Когда вы отправляете текстовое сообщение с использованием PHP, весь контент будет рассматриваться как простой текст. Даже если вы включите теги HTML в текстовое сообщение, оно будет отображаться как простой текст, и теги HTML не будут отформатированы в соответствии с синтаксисом HTML. Но PHP предоставляет возможность отправлять HTML-сообщение как фактическое HTML-сообщение.

При отправке сообщения электронной почты вы можете указать версию Mime, тип содержимого и набор символов для отправки электронной почты в формате HTML.

пример

Следующий пример отправит сообщение электронной почты в формате HTML по адресу [email protected] и скопирует его по адресу [email protected]. Вы можете закодировать эту программу таким образом, чтобы она получала весь контент от пользователя, а затем отправляла электронное письмо.

<html>
   
   <head>
      <title>Sending HTML email using PHP</title>
   </head>
   
   <body>
      
      <?php
         $to = "[email protected]";
         $subject = "This is subject";
         
         $message = "<b>This is HTML message.</b>";
         $message .= "<h1>This is headline.</h1>";
         
         $header = "From:[email protected] \r\n";
         $header .= "Cc:[email protected] \r\n";
         $header .= "MIME-Version: 1.0\r\n";
         $header .= "Content-type: text/html\r\n";
         
         $retval = mail ($to,$subject,$message,$header);
         
         if( $retval == true ) {
            echo "Message sent successfully...";
         }else {
            echo "Message could not be sent...";
         }
      ?>
      
   </body>
</html>

Отправка вложений по электронной почте

Для отправки электронного письма со смешанным содержимым необходимо установить заголовок Content-type в multipart / mixed . Тогда разделы текста и вложения могут быть указаны в границах .

Граница начинается с двух дефисов, за которыми следует уникальный номер, который не может появиться в части сообщения электронной почты. Функция PHP md5 () используется для создания 32-значного шестнадцатеричного числа для создания уникального номера. Окончательная граница, обозначающая последний раздел письма, также должна заканчиваться двумя дефисами.