22.04.2014 Views

php_mysql_dreamweaver_mx_2004 разработка web сайтов.pdf

php_mysql_dreamweaver_mx_2004 разработка web сайтов.pdf

php_mysql_dreamweaver_mx_2004 разработка web сайтов.pdf

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

372 Часть IV. Наносим последние штрихи<br />

Сервер приема почты по протоколу SMTP портала Mail.ru находится по адресу<br />

smtp.mail.ru.<br />

Установив соединение с сервером, мы можем послать ему первую команду.<br />

Для этого используем встроенную функцию fputs.<br />

fputs(, );<br />

Заметим, что функция fputs вернет количество переданных байт или false,<br />

если ничего передать не удалось.<br />

fputs($connection, "HELO <strong>php</strong>\r\n");<br />

Это выражение посылает серверу команду HELO <strong>php</strong>, завершающуюся символами<br />

возврата каретки и перевода строки \г\п (это обязательно!). На языке<br />

протокола SMTP эта команда означает что-то вроде "Привет, сервер!<br />

Я — пользователь почтового ящика <strong>php</strong>".<br />

fputs($connection, "MAIL FROM: <strong>php</strong>@mail.ru\r\n");<br />

Команда, переданная этим выражением, задает адрес отправителя.<br />

fputs($connection, "RCPT TO: otheruser@otherserver.ru\r\n");<br />

А это выражение посылает серверу команду, содержащую имя получателя.<br />

fputs($connection, "DATA\r\n");<br />

Команда DATA указывает серверу, что сейчас мы передадим ему само письмо.<br />

fputs($connection, "Content-Type: text/plain; charset=windows-1251\r\n");<br />

fputs($connection, "From: <strong>php</strong>@mail.ru\r\n");<br />

fputs($connection, "To: otheruser@otherserver.ru\r\n");<br />

fputs($connection, "Subject: Test!!!\r\n");<br />

fputs($connection, "\r\n");<br />

Передаем заголовок письма и пустую строку, которая отделяет его от тела письма.<br />

fputs($connection,<br />

"Это всего лишь тестовое письмо. Не пугайтесь!\г\п");<br />

Это выражение передает серверу тело письма.<br />

fputs($connection, ".\r\n");<br />

Обязательно завершаем тело письма точкой.<br />

fputs($connection, "RSET\r\n");<br />

Команда RSET говорит серверу "Пока! До новых встреч".<br />

Напоследок мы разорвем соединение с сервером, вызвав встроенную функцию<br />

f close. Она принимает единственный аргумент — идентификатор разрываемого<br />

соединения — и возвращает true, если соединение было успешно<br />

разорвано.<br />

fclose(Sconnection);<br />

Вот и все! Наше письмо отправлено.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!