Поиск

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

С помощью РНР можно легко отправлять электронную почту:

mail ("mailto", "subject", "body"};

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

mail ("mailto", "subject", "body", "From: fromaddress");

Отправка электронной почты с помощью РНР

  1. Создайте новый PHPдокумент в текстовом редакторе.
  2. <?php
  3. Присвойте странице имя и включите файл заголовка.
  4. $PageTitle = "Sending Emails";
    require ("header.php");
  5. Создайте условную конструкцию для обработки переданной формы.
  6. if ($BeenSubmitted) {
  7. Если был передан адрес электронной почты получателя, отправьте сооб щение.
  8. if ($MailTo) {
    if (mail($MailTo, $Subject, $Body, "From: $MailFrom")) {
    print ("<BxCENTERxFONT COLOR=BLUE>Your email has been
    successfully sent!</FONTx/CENTERx/B>\n") ;
    } else {
    print ("<BxCENTERxFONT COLOR=RED>Your email was not
    —successfully sent due to a system error!</FONTx/CENTER>

    Мы поместили функцию mail ( ) в условную конструкцию, чтобы пользова тель получил сообщение, если почта успешно отправлена.

  9. Закончите условные конструкции.
  10. } else {
    print ("<BxCENTERxFONT COLOR=RED>Please enter the recipient's
    mail to address ! </FONTx/CENTERx/B>\n" ) ;
  11. Закройте PHPраздел и создайте HTMLформу, в которую вводятся два адреса электронной почты, тема, само письмо и скрытое значение для определения того, была ли форма передана.
  12. ?>
    <FORM ACTION="email.php" METHOD=POST> Recipient's Email Address:
    <INPUT TYPE=TEXT NAME='"MailTo" SIZE="50"xBR> ,
    Your Email Address: <INPUT TYPE=TEXT NAME="MailFrom" SIZE="50"xBR>
    Email Subject: <INPUT TYPE=TEXT NAME=" Subject" SIZE="80"xBR>
    Email Body : <TEXTAREA NAME="Body" ROWS="10" COLS="50">
    </TEXTAREAxP>
    <INPUT TYPE=HIDDEN NAME=BeenSubmitted VALUE=TRUE>
    <INPUT TYPE=SUBMIT NAME="SUBMIT" VALUE*" Submit ! ">
  13. Закройте форму и включите файл нижнего колонтитула.
  14. </FORM>
    <?php
    require ( "footer .php") ;
    ?>
  15. Сохраните сценарий как email.php (листинг 13.9), загрузите его на сервер и протестируйте в браузере (рис. 13.1113.14). Листинг 13.9 т В РНР для отправки электронной почты предназначена только одна функция mail ( ) . Мы поместили вызов функции mail О Внутри различных условных конструкций, чтобы почта отправлялась только после ука зания адреса получателя.
  16. 1 <?php
    2 SPageTitle = "Sending Emails";
    3 require ("header.php");
    4 if (SBeenSubmitted) {
    5 if ($MailTo) {
    6 if (mail($MailTo, $Subject, $Body, "From: $MailFrom")) {
    7 print ("<BxCENTERxFONT COLOR=BLUE>Your email has
    been successfully sent!</FONTx/CENTERx/B>\n");
    8 } else {
    9 print ("<BxCENTERxFONT COLOR=RED>Your email was not
    successfully sent due to a system error!</FONTx/CENTER>
    10 }
    11 } else {
    12 print ("<BxCENTERxFONT COLOR=RED>Please enter the recipient's
    mail to address ! </FONTx/CENTERx/B>\n" )
    ; 13 }
    14 }
    15 ?>
    16 <FORM ACTION="email.php" METHOD=POST>
    17 Recipient's Email .Address: <INPUT TYPE=TEXT NAME="MailTo"
    SIZE="50"xBR>
    18 Your Email Address: <INPUT TYPE=TEXT NAME="MailFrom" SIZE="50"xBR>
    19 Email Subject: <INPUT TYPE=TEXT NAME=" Subject" SIZE="80"xBR>
    20 Email Body : <TEXTAREA NAME="Body" ROWS="10" COLS="50">
    21 </TEXTAREAxP>
    22 <INPUT TYPE=HIDDEN NAME=BeenSubmitted VALUE=TRUE>
    23 < INPUT TYPE=SUBMIT NAME=" SUBMIT" VALUE=" Submit ! ">
    24 </FORM>
    25 <?php
    26 require ( "footer .php" );
    27 ?>

    Можно отправлять сообщения с прикрепленными файлами, но это требует более сложного программирования (с использованием объектов). К счастью, уже разра ботано много работающих решений, которые доступны для использования. См. также приложение С.