Настройка отправки почты в php через exim
- 12-10-2010, 01:16 - Добавил: lumian
- Комментариев: 10
- Linux world
Часто для сайтов требуется отправка писем (уведомления о комментариях, информация о регистрации о прочая нужная и не очень информация) для этого я предлагаю воспользоваться, пожалуй, самым простым способом.
Для того, чтобы заставить php отправлять письма с сайта, установим почтовый сервер exim.
Для Debian:
Далее в файле конфигурации php (/etc/php5/apache2/php.ini) поправим:
Теперь необходимо настроить exim:
В появившемся диалоговом окне вам будут задавать вопросы. На первый (Общий тип почтовой конфигурации) отвечаем:
А далее просто жмем Enter до конца настройки. Теперь все должно работать.
Проверить можно так:
Теперь просто проверить свой почтовый ящик, если отправленное вами письмо пришло, то значит мы все сделали верно :)
UPD (08.01.12):
Для того, чтобы ваши письма не попадали в спам необходимо добавить SPF запись в DNS вашего домена.
Выдержка из википедии Sender_Policy_Framework:
Sender Policy Framework (структура политики отправителя) — расширение для протокола отправки электронной почты SMTP. SPF определен в RFC 4408.
Благодаря SPF можно проверить, не подделан ли домен отправителя.
В SPF запись нам необходимо поместить IP адрес сервера с сайтом.
Для IPv4 адреса:
Для IPv6 адреса:
Если несколько IP адресов, то перечисляем все:
Аналогично и для ipv6, только вместо ip4 ставим ip6.
Всё. Теперь проверку подлинности мы сделали и просто так в спам наши письма не попадут.
Для того, чтобы заставить php отправлять письма с сайта, установим почтовый сервер exim.
Для Debian:
# aptitude install exim4 exim4-config
Далее в файле конфигурации php (/etc/php5/apache2/php.ini) поправим:
sendmail_path = /usr/sbin/exim4 -t
Теперь необходимо настроить exim:
# dpkg-reconfigure exim4-config
В появившемся диалоговом окне вам будут задавать вопросы. На первый (Общий тип почтовой конфигурации) отвечаем:
интернет-сайт; прием и отправка почты напрямую, используя SMTP
А далее просто жмем Enter до конца настройки. Теперь все должно работать.
Проверить можно так:
# cat testmail.php
<?php
mail('komu@mail.ru', 'тема письма', 'тело письма', 'From: ot.kogo@mail.ru');
?>
# php testmail.php
<?php
mail('komu@mail.ru', 'тема письма', 'тело письма', 'From: ot.kogo@mail.ru');
?>
# php testmail.php
Теперь просто проверить свой почтовый ящик, если отправленное вами письмо пришло, то значит мы все сделали верно :)
UPD (08.01.12):
Для того, чтобы ваши письма не попадали в спам необходимо добавить SPF запись в DNS вашего домена.
Выдержка из википедии Sender_Policy_Framework:
Sender Policy Framework (структура политики отправителя) — расширение для протокола отправки электронной почты SMTP. SPF определен в RFC 4408.
Благодаря SPF можно проверить, не подделан ли домен отправителя.
В SPF запись нам необходимо поместить IP адрес сервера с сайтом.
Для IPv4 адреса:
IN TXT "v=spf1 ip4:адрес ~all"
Для IPv6 адреса:
IN TXT "v=spf1 ip6:адрес ~all"
Если несколько IP адресов, то перечисляем все:
IN TXT "v=spf1 ip4:адрес1 ip4:адрес2 ip4:адрес3 ~all"
Аналогично и для ipv6, только вместо ip4 ставим ip6.
Всё. Теперь проверку подлинности мы сделали и просто так в спам наши письма не попадут.
Реклама:
Внимание!
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

