С помощью РНР можно легко отправлять электронную почту:
mail ("mailto", "subject", "body"};
Для отправки сообщений функцией mail ( ) используется серверное прило
жение электронной почты, такое как sendmail в среде UNIX. Эта функция мо
жет принимать еще один аргумент, который допустимо использовать для
добавления дополнительных параметров к сообщению, включая адрес отпра
вителя, приоритет доставки, адреса отправки копии и т.д.
mail ("mailto", "subject", "body", "From: fromaddress");
Отправка электронной почты с помощью РНР
- Создайте новый PHPдокумент в текстовом редакторе.
- Присвойте странице имя и включите файл заголовка.
- Создайте условную конструкцию для обработки переданной формы.
- Если был передан адрес электронной почты получателя, отправьте сооб
щение. - Закончите условные конструкции.
- Закройте PHPраздел и создайте HTMLформу, в которую вводятся два
адреса электронной почты, тема, само письмо и скрытое значение для
определения того, была ли форма передана. - Закройте форму и включите файл нижнего колонтитула.
- Сохраните сценарий как email.php (листинг 13.9), загрузите его на сервер
и протестируйте в браузере (рис. 13.1113.14).
Листинг 13.9 т В РНР для отправки электронной почты предназначена
только одна функция mail ( ) . Мы поместили вызов функции mail О Внутри
различных условных конструкций, чтобы почта отправлялась только после ука
зания адреса получателя.
<?php
$PageTitle = "Sending Emails";
require ("header.php");
if ($BeenSubmitted) {
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 ( ) в условную конструкцию, чтобы пользова
тель получил сообщение, если почта успешно отправлена.
} else {
print ("<BxCENTERxFONT COLOR=RED>Please enter the recipient's
mail to address ! </FONTx/CENTERx/B>n" ) ;
?>
<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 ! ">
</FORM>
<?php
require ( "footer .php") ;
?>
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 ?>
Можно отправлять сообщения с прикрепленными файлами, но это требует более
сложного программирования (с использованием объектов). К счастью, уже разра
ботано много работающих решений, которые доступны для использования. См.
также приложение С.