Хостинговая компания AplHost.ru
Помощь

Для клиентов

Контакты
Помощь Инструкции Отправка почты из скриптов


Инструкции


Отправка почты из скриптов



Вы можете отправлять почту из скриптов Вашего сайта практически без ограничений. Главное - отсутствие жалоб на спам с Вашего сайта. Если будут жалобы, нам придется запретить Вам отправку почты.
Первый и главный момент при отправке письма - путь к почтовой программе. В качестве почтового демона у нас установлен Exim 4.6, путь к нему, который Вы должны использовать в скриптах - /usr/sbin/sendmail -t.
Подробности синтаксиса мы описывать не будем, т.к. об этом написано достаточно. Существует один момент, который скорее всего не описан в используемой Вами литературе или на нем не заострено внимание. Этот момент становится важным при использовании скриптов на сервере с несколькими доменами и заключается в указании отправителя письма.
Если Ваш скрипт отправляет письма только Вам, например, данные из форм на Вашем сайте, то указание отправителя не принципиально. А вот в случае рассылки писем это становится актуальным, как минимум письмо должно содержать поле From:, чтобы не казаться анонимкой.
При использовании Perl отправка письма осуществляется вызовом /usr/sbin/sendmail и печатью в поток. Заголовок From: указывается явно. При использовании PHP письмо можно отправить вышеописанным образом, или, что много проще, используя функцию mail(). Во втором случае заголовок From: указывается в четвертом параметре функции среди других необязательных заголовков.
Если почта дошла до адресата, то все ОК и указанной информации вполне достаточно, однако наш мир не совершенен. Существует куча причин, по которым письма не доходят и почтовые сервера генерируют письма с сообщением об ошибке. Эти письма направляются на адрес, указанный в заголовках потерявшегося письма в поле Reply-To:.
Как формируется данное поле? Если почта отправляется из Perl-скрипта (все perl-скрипты запускаются от имени Вашего пользователя в системе), то в поле Replay-To: указывается обратный адрес вида your_login@aplhost.ru. Если Вы используете PHP, то данный адрес будет иметь вид nobody@aplhost.ru, т.к .php-скрипты выполняются от имени Apache, т.е. nobody.
Для того, чтобы вся ошибочная почта все-таки поступала к Вам и Вы могли корректировать свои базы, нужно:
1. При явном вызове программы использовать ключ -f - /usr/sbin/sendmail -fany@domain.ru
2. При использовании функции mail() в PHP добавили пятый (необязательный) параметр, который передается при вызове почтовой программы в качестве параметров командной строки. Как можно догадаться формат записи будет - mail($email, $subject, @body, "From: any@domain.ru", "-fany2@domain.ru"). Данный вариант позволяет Вам указать в качестве отправителя и получателя ошибок разных адресатов.


Новости

Подписка на новости


новости |  услуги |  помощь |  партнерство |  компания |  карта сайта |  ФОРУМ


www.webmoney.ru Rambler's Top100 Оценки и отзывы наших клиентов. Отзывы наших клиентов Рейтинг@Mail.ru


COPYRIGHT © SKYNET.LTD INTERNET SERVICE, 2005-2009, Все права защищены.