Ivanovo Linux Users Group -  
Форум Помощь Поиск Вход
Предыдущая Следующая Вверх Тема Софт / Программное обеспечение / smtp сервер, использующий авторизацию и postfix (16610 хитов)
- Написал(а) cutter Дата 28.10.05 08:57
Есть такой казус:
Почта отправляется при помощи Postfix на smtp, который использует авторизацию (smtp.gmail.com), использует STARTTLS и работает через секурные порты 465 и 587. Сделать настройку в main.cf для того, что бы постфикс работал с этим смтп через приведенные порты и STARTTLS отказалось просто, но вот как сказать постфиксу, что нужно авторизоваться на удаленном смтп?
Читал маны, гуглил, но так и не смог найти, как же это сделать..
Parent - Написал(а) LOE (Site/forum admin) Дата 28.10.05 20:09
Честно говоря, ни разу тако не требовалось.
Единственно куда приходит на ум использование - отправка всей почты через смарт-хост, требующий авторизации.
Почта входящая для локального клиента не требует авторизации на этом smtp сервере (иначе почта б совсем не приходила).

Я сам юзаю exim, посмотрел доку - отправка на smtp сервер с использованием авторизации делается влёт.
Создается роутер, транспорт и авторизатор на соответствующее "направление".
(Собственно, как и всё остальное в exim'е делается в "пару" строк в конфиге)
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - Написал(а) cutter Дата 29.10.05 18:50
Попробую exim.
Вообще хотелось бы пользоваться чем-то очень легким, маленьким, простым.
Я пользуюсь mutt'ом, а он, удобный и подходящий мне почтовый клиент, очень активно использует внешние программы как для получения, написания так и для отправки почты. Это удобно, быстро, надежно, просто. Но поцфикс, на мой взгляд, предназначен для объемных и более функциональных работ, нежели эмуляция sendmail и отправка почты на внешний smtp-сервер.
Попробую.
Parent - Написал(а) LOE (Site/forum admin) Дата 29.10.05 19:31 Отредактировано 29.10.05 19:39
mutt - это MUA - mail user agent. Из текстовых клиентов, долгое время использовал pine. Вполне можешь посмотреть.

Что касается MTA, использую несколько лет (очень много) exim, ни разу в нем не разочаровался.
Имеет текстовый, легко читаемый конфиг. Большие возможности самых разных настроек.
Работает с mysql, а также, есть возможность использовать perl (через вкомпиляемый libperl, т.е. нативно)
Лично я, храню все настроечные данные в базе.

Как пример:
только средствами exim'а сделал списки рассылок с авторизацией (без использования специализированного софта типа majordomo)

В общем, всем советую exim в качестве SMTP сервера ;-)
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent Написал(а) PAHA Дата 03.11.05 07:31
тоже за exim удобный и простой
Parent - Написал(а) cutter Дата 21.12.05 03:11
Получилось настроить отправку почты на smtp.gmail.com с помощью exim'a. О том, как это можно сделать написано вот тут:
http://lists.debian.org/debian-user/2005/07/msg00303.html
Запускаем дебиановскую конфигурилку:
$ sudo dpkg-reconfigure exim4-config

Говорим там, что хотим отправлять почту через смартхост, а получать через fetchmail; в качестве смартхоста указываем smtp.gmail.com. Или, делаем ту же самую настройку руками, через редактирование /etc/exim4/update-exim4.conf.conf.
В файле /etc/exim4/exim4.conf.template: должно быть:
   1357 remote_smtp_smarthost:
   1358   debug_print = "T: remote_smtp_smarthost for $local_part@$domain"
   1359   driver = smtp
   1360   hosts_try_auth = ${if exists {CONFDIR/passwd.client}{DCsmarthost}{}}
   1361   tls_tempfail_tryclear = false
   1362   hosts_require_auth = smtp.gmail.com
   1363   hosts_require_tls = smtp.gmail.com
   1364   port = 587
   1365   DEBCONFheaders_rewriteDEBCONF
   1366   DEBCONFreturn_pathDEBCONF

$ sudo update-exim4.conf

Файл /etc/exim4/passwd.client:
smtp.gmail.com:login:password
gmail-smtp.l.google.com:login:password

Судя по всему, в файле passwd.client решающей оказывается последняя строчка. Так же не следует забывать о том, что в качестве логина нужно писать полное имя учетной записи на gmail, т.е. myname@gmail.com.
Вполне возможно, что некоторые моменты описанной выше настройки специфичны для Дебиана (например, файл passwd.client)
Parent - Написал(а) LOE (Site/forum admin) Дата 21.12.05 05:50
Просьба привести то, что получается как раз после update-exim4.conf
/etc/exim4/exim4.conf.template - это только заготовка конфига. Хотя, будет надобность - разобраться и по заготовке уже не сложно.

Посмотрев приведенную ссылку, все становится понятно. У тебя есть несколько отсутствующих там строк и раскоментарена строка
hosts_try_auth = ${if exists {CONFDIR/passwd.client}{DCsmarthost}{}}

Объяснена так-же и необходимость иметь 2 строки в файле /etc/exim4/passwd.client
Думаю, тебе было необходимым привести их перевод, а не писать "судя по всему"

По любому, полезная информация.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - Написал(а) cutter Дата 22.12.05 02:35
update-exim4.conf - генерирует файл /var/lib/exim4/config.autogenerated. Зачем нужно знать, что находится в файле config.autogenerated, если даже в первых строках этого файла (у меня) написано (очень экспрессивно написано: # WARNING WARNING WARNING :-), что не имеет смысла трогать его руками, поскольку все изменения будут утеряны, а любые необходимые изменения необходимо вносить в заготовку?
Хотя, впрочем, вот (/var/lib/exim4/config.autogenerated):

    609 remote_smtp_smarthost:
    610   debug_print = "T: remote_smtp_smarthost for $local_part@$domain"
    611   driver = smtp
    612   hosts_try_auth = ${if exists {CONFDIR/passwd.client}{DCsmarthost}{}}
    613   tls_tempfail_tryclear = false
    614   hosts_require_auth = smtp.gmail.com
    615   hosts_require_tls = smtp.gmail.com
    616   port = 587
    617   headers_rewrite = *@+local_domains $1@DCreadhost frs : *@localhost.localdomain $1@DCreadhost frs
    618   return_path = ${if match_domain{$sender_address_domain}{+local_domains}{${sender_address_local_part}@DCreadhost}{${if match_domain{$sender_address_domain}{localhost.localdomain}{${sender_address_local_part}@DCreadhost}fail}}}


Да, действительно, строка hosts_try_auth = ${if exists {CONFDIR/passwd.client}{DCsmarthost}{}} раскомментирована. Как я понимаю, побудить exim авторизоваться на смартхосте можно, поместив файл passwd.client с сопутствующим содержанием в /etc/exim4/, при существовании этой строки в конфиге. Как написано вот здесь - http://www.exim.org/exim-html-4.10/doc/html/spec_29.html#IX1570, с помощью опции hosts_try_auth можно обозначить список серверов, на которых есть поддержка авторизации и при соединении с ними exim будет пытаться авторизоваться как клиент. И в ее комментировании (comment out) я особого смысла не вижу.

Как пишет Adam Fabian в списке рассылки, ссылка на который приведена выше, сбой авторизации при соединении с smtp.gmail.com (без указания сервера gmail-smtp.l.google.com в passwd.client) происходит потому, что после использования smtp.gmail.com в качестве адреса происходит соединение именно с gmail-smtp.l.google.com, на котором уже и происходит авторизация.
Что можно наблюдать, посмотрев лог экзима /var/log/exim4/mainlog:

2005-12-18 02:29:19 1EnlUB-00052d-UG ** xxxxxxxx@gmail.com R=smarthost T=remote_smtp_smarthost: SMTP error from remote mailer after MAIL FROM:<xxxxxxxx@gmail.com> SIZE=1656: host gmail-smtp.l.google.com [72.14.205.109]: 530 5.7.0 Authentication Required e13sm1434673qbe
Parent Написал(а) LOE (Site/forum admin) Дата 22.12.05 05:40
Если закоментировать hosts_try_auth, то требование на авторизацию будет определяться автоматически, вот и все.

А на счет двойной записи, всё очень просто:
$ host smtp.gmail.com
smtp.gmail.com is a nickname for gmail-smtp.l.google.com
gmail-smtp.l.google.com has address 66.249.93.111
gmail-smtp.l.google.com has address 66.249.93.109
т.е. на смом деле соединение происходит именно с gmail-smtp.l.google.com

Но вообще, хороший пример.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Предыдущая Следующая Вверх Тема Софт / Программное обеспечение / smtp сервер, использующий авторизацию и postfix (16610 хитов)

Powered by mwForum 2.12.0 © 1999-2007 Markus Wichitill

Page created in 0.081s with 11 database queries.