Отправка почты через внешний SMTP сервер. Exim4



By admin ~ Декабрь 21st, 2008. Filed under: Сеть.

Если у вас домашний компьютер и выходите тестировать отсылку почты через php mail интерфейс - например mail().
Для этого вам нужно настройть exim4 и отправку на google smtp.

Exim - один из самых популярных (и мощных) MTA. Итак (всё делаем с правами root),

# apt-get install exim4

Отредактируем следующие параметры в файле /etc/exim4/update-exim4.conf.conf, чтобы отправлять почту через gmail

dc_eximconfig_configtype=’smarthost’
dc_smarthost=’smtp.gmail.com::587′

В файл авторизации /etc/exim4/passwd.client добавим следующие строки (подставляем свои логин и пароль вместо my.name и password соответственно)

gmail-smtp.l.google.com:my.name@gmail.com:password
*.google.com:my.name@gmail.com:password
smtp.gmail.com:my.name@gmail.com:password

Выполним следующую команду для применения новых настроек

# update-exim4.conf

На этом настройка завершена. Exim будет отправлять почту через gmail.

Popularity: 60%

Похожие статьи:

12 Responses to Отправка почты через внешний SMTP сервер. Exim4

  1. mnv

    Помогло, вот поподробнее:

    1. Прописываем параметры аутентификации в /etc/exim4/passwd.client

    smtp.gmail.com:myaccount@gmail.com:mypassword
    gmail-smtp-msa.l.google.com:myaccount@gmail.com: mypassword
    ## Второй сервер нужен т.к. smtp.gmail.com ссылается на него

    2. Запускаем в терминале
    #dpkg-reconfigure exim4-config

    И по шагам указываем следующую информацию
    Общий тип почтовой конфигурации:
    отправка почты через smarthost; приём по SMTP или через fetchmail
    Почтовое имя системы:
    Оставляем пустую строку
    IP-адреса, с которых следует ожидать входящие соединения SMTP:
    127.0.0.1
    Другие места назначения, для которых должна приниматься почта:
    Оставляем пустую строку
    Машины, для которых доступна релейная передача почты:
    Оставляем пустую строку
    IP-адрес или имя хоста являющегося исходящим smarthost:
    smtp.gmail.com::587
    Скрывать локальное почтовое имя в исходящей почте?
    Нет
    Сокращать количество DNS-запросов до минимума (дозвон по требованию)?
    Нет
    Метод доставки локальной почты:
    mbox формат в /var/mail/
    Разделить конфигурацию на маленькие файлы?
    Да

    3. Пробуем отправить почту

    Если возникнут проблемы, то хорошо помогут логи в файле /var/log/exim4/mainlog. Кстати, для его мониторинга хорошо поможет пакет eximon4, в Ubuntu его можно установить через Synaptic.

    Для проверки отправки письма можно вызывать скрипт на php:
    $res = mail(’toaddress@yandex.ru’, ‘Тема сообщения’, ‘Текст сообщения’);
    print_r($res);

  2. grigan

    а у меня почта за пределы /var/mail/ не уходила пока не поставил отправка почты через smart-host без локальной почты

  3. gav

    Сделал все как написал mnv - не работает :(
    А что должно быть написано в php.ini в sendmail_path = ?

  4. gav

    Ага, разобрался.
    Нужно делать все точно как в первом посте (by admin), а в php.ini строку sendmail_path надо закоментировать - вроде работает…

  5. Кит

    А если письма должны идти от нескольких пользователей и у каждого свой логин и пароль?

  6. Artyom.Timofeev

    Настроил по статье, ошибка:

    kert@hard.nov.ru R=smarthost T=remote_smtp_smarthost: SMTP error from remote mail server after RCPT TO:: host smtp.list.ru [94.100.177.4]: 550 not local sender over smtp

  7. Владимир

    Спасибо большое, максимально просто. Делал только как написано в посте, то что в первом камменте не стал делать, помогло.

  8. Владимир Игонин

    Спасибо, долго мучился с SendMail, потом плюнул и поставил Exim4. В php.ini строку sendmail_path не стал комментировать, создал симлинк на c *exim4 на @sendmail.

  9. Michael

    Единственная проблема: Googl, с…обака, переписывает заголовки From, Return-Path и т.п. на оригинальный адрес отправителя.

    Ни переписывание хеадеров при отправке письма, ни даже параметр “-f{$from}” не помогают.

    При этом Exim обрабатывает правильно:

    2011-02-02 09:21:30 1PkW5q-0001Am-EJ poluchatel@mail.ru R=smarthost T=remote_smtp_smarthos…
    2011-02-02 09:21:33 1PkW5q-0001Am-EJ Completed

    Но почта на ящик приходит не от tpravitel@mail.ru, а от того ящика gmail, на который настроен Exim (типа vasya.pupkin@gmail.com).

    Даже не знаю, как с этим бороться. Кто что может посоветовать?

  10. Lexa

    Спасибо за статью.
    есть вопрос как отключить отправку сообщений на Аккаунт через который работает exim4
    тоесть сюда
    gmail-smtp.l.google.com:my.name@gmail.com:password
    *.google.com:my.name@gmail.com:password
    smtp.gmail.com:my.name@gmail.com:password

  11. lord

    спасибо, хочу от себя ещё добавить, что если всё то же на яндексе - то ругаетсяна поле FROM. Прописываем его в файле /etc/exim4/conf.d/rewrite/00_exim4-config_header:
    begin rewrite
    *@* no-reply@zagirov.name Ffr
    источник - http://www.zagirov.name/exim-pdd-yandex-ru

  12. Daria

    Отличная статья. Все заработало без проблем. Спасибо

Оставьте комментарий: