Страница 1 из 2
Exim как релей к хостингу почты
Добавлено: 2008-05-21 9:55:20
AlkoGekS
Ситуация в следующем. Начальству таки нужно смотреть исходящую и приходящую почту. Сама почта находится на хостинге, ящики там же. Нужно чтобы когда пользователь нажимал кнопачку получения почты он соединялся сначала с локальным сервером почты, а этот сервер в свою очередь соединялся с сервером провайдера, забирая или отправляя почту (при этом копируя ее на отдельный ящик). Как такое сделать, подскажите пожалуйста. Использовать свой сервер для приема или отправки напрямую НЕ МОГУ, собственно поэтому и пришлось брать хостинг!
Re: Exim как релей к хостингу почты
Добавлено: 2008-05-21 9:57:06
Alex Keda
почему не можешь?
Re: Exim как релей к хостингу почты
Добавлено: 2008-05-21 10:28:30
AlkoGekS
Провайдер такой, почту только через его smtp Отправлять можно... но там тусим не мы одни следовательно сервак ихний ложится каждый день на несколько часов... поэтому и пришлось хостинг брать
Re: Exim как релей к хостингу почты
Добавлено: 2008-05-22 21:42:32
Morty
вот эту проблему плохо понял
AlkoGekS писал(а): Использовать свой сервер для приема или отправки напрямую НЕ МОГУ, собственно поэтому и пришлось брать хостинг!
ЗЫ: в крайнем случае - писать прову офф письмо с печатями
если придеться открыть порт или порт+на какойто ип доступ
но вот это
Ситуация в следующем. Начальству таки нужно смотреть исходящую и приходящую почту.
можно реализовать так...если по совсем простому:
1.Все клиенты должны юзать IMAP дефакто (или как минимум те чью почту нада см.)
2. Ставишь всем TheBat (или то что сможет нормально реализовать пункт 3)
3. Настраиваешь всем Бат на работу по имапу, потом там есть менеджер папок чтоли, одним словом "завязываешь"
папки Входящие, Исходящие, спам, Урна, с теми дирами которые им соотвесвуют на ИМАП сервере.
4. Делаешь синхронизацию этих диров. Все. Вся почта каждого ящика - входящие исходящие , мусор, спам будут не только на клиенте но и на Имап серваке.
5. Тем кому интересно с кем переписываються его сотрудники - отдаешь логины + пароли ящиков, пущай смотрят через вэб интерфейс....а точнее дальше марочят голову себе а не Админу.
ЗЫ: имап рулит

Re: Exim как релей к хостингу почты
Добавлено: 2008-05-30 10:43:57
AlkoGekS
Разговаривал тут с провайдером.. выяснилось вот что! Предложили мне сделать так: на хостинге и на моем сервере создаются одинаковые ящики с одинаковыми паролями. Я принимаю всю входящуюю почту своим сервером, а отправляю через smtp провайдера. Все было бы хорошо, но есть несколько моментов:
1) Их smtp сервер требует авторизацию!!!
2) Авторизации на моем сервере и сервере провайдера различны по написанию:
test@domain.ru - мой сервер(логин), domain.ru+test - smtp на хостинге(логин)
3) Входящая почта приходит, но не вся (к примеру с mail.ru не приходит на мой сервер вообще)
4) Если я отправляю письмо указывая smtp провайдера, то оно отправляется, но в почту начальства не копируется

а если отправляю через свой сервер (указав в smarthost релей хостинга) то оно зависает, так как нет аутентификации по smtp на exim.
Вобщем ребят выручайте... я уже не знаю что делать

Re: Exim как релей к хостингу почты
Добавлено: 2008-05-30 10:45:34
Alex Keda
настроить аутентификацию?
экзим это умеет.
Re: Exim как релей к хостингу почты
Добавлено: 2008-05-30 10:49:15
AlkoGekS
Каким образом? я понятия не имею где смотреть даже...

Забыл сказать... smtp провайдера висит не на 25 порту, а на 2525...
Re: Exim как релей к хостингу почты
Добавлено: 2008-05-30 11:06:31
Alex Keda
в форуме искать.
выкладывали рабочий вариант
Re: Exim как релей к хостингу почты
Добавлено: 2008-05-30 11:35:49
AlkoGekS
Все перерыл... не нашел ответа на свою проблему

Вобщем как я понял, что мне нужно...
Клиент отсылая письмо, авторизируется на моем сервере... затем уже сервер связывается с хостингоми сам авторизирует пользователся на smtp самого хостинга...
P.S. Мля, и весь этот геморой только ради копирования исходящей и входящей почты для проверки начальству

Re: Exim как релей к хостингу почты
Добавлено: 2008-05-30 15:25:42
Alex Keda
странно. тоже не нашёл...
тогда придётся повторить путь автора темы - отсюда -
http://www.lissyara.su/?id=1233#33.5
Re: Exim как релей к хостингу почты
Добавлено: 2008-05-30 15:55:47
AlkoGekS
Как я понял нужно сделать следующее:
Пишем смтп хостера:
Код: Выделить всё
smarthost:
driver = manualroute
domains = ! +local_domains
transport = remote_smtp
route_list = * smtp.hosting.ru
Затем правим в транспортах это
Код: Выделить всё
# Доставка на удалённые хосты - по SMTP
remote_smtp:
driver = smtp
hosts_avoid_esmtp = ${lookup mysql{INSERT IGNORE INTO `sended_list` \
(`user_from`, `user_to`, `added_timestamp`, \
`last_mail_timestamp`, `mail_count`) VALUES \
(LCASE('${quote_mysql:$sender_address}'), \
LCASE('${quote_mysql:$local_part@$domain}'), \
UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), '1') ON DUPLICATE \
KEY UPDATE `last_mail_timestamp` = UNIX_TIMESTAMP(), \
`mail_count` = `mail_count` + 1}}
на
Код: Выделить всё
remote_smtp:
driver = smtp
hosts_require_auth = smtp.hoster.ru
Но вот как быть с аутентификаторами почтовых программ, как сделать чтоб логин
admin@domain.ru на сервере аутентифицировался в логин domain.ru+admin (пароли вроде теже самые, так что с ними поидее быть не должно)
Код: Выделить всё
auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{SELECT LCASE(`username`) FROM \
`mailbox` WHERE `username` = \
LCASE('${quote_mysql:$1}') AND `password` = \
'${quote_mysql:$2}' AND `active`='1'}{yes}{no}}
server_prompts = :
server_set_id = $2
###################### это вроде как для одного пользователя!!!
client_send = ": loginID : passwdID"
# Вроде по этому оутглюк, а по предыдущему нетскейп.
auth_login:
driver = plaintext
public_name = LOGIN
server_condition = ${lookup mysql{SELECT LCASE(`username`) FROM \
`mailbox` WHERE `username` = \
LCASE('${quote_mysql:$1}') AND `password` = \
'${quote_mysql:$2}' AND `active`='1'}{yes}{no}}
server_prompts = Username:: : Password::
server_set_id = $1
# А так авторизуется "Летучая Мышь" - TheBat!
auth_cram_md5:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{SELECT `password` FROM \
`mailbox` WHERE `username` \
= LCASE('${quote_mysql:$1}') AND `active`='1'} \
{$value}fail}
server_set_id = $1
Что делать с остальнымине знаю

Re: Exim как релей к хостингу почты
Добавлено: 2008-06-02 10:30:11
AlkoGekS
решил настраивать все по порядку... но вылезли щас вот такие грабли...
Код: Выделить всё
2008-06-02 11:23:10 Resetting acl_m0 10 --> 0, host in whitelist (alkolexx@mail.ru ==> admin@tdruskon.ru)
2008-06-02 11:23:10 1K34Nq-000HAS-E7 <= alkolexx@mail.ru H=f4.mail.ru [194.67.57.65] I=[213.247.226.33]:25 P=esmtp S=874 id=E1K34TH-000At1-00.alkolexx-mail-ru@f4.mail.ru from <alkolexx@mail.ru> for admin@tdruskon.ru
2008-06-02 11:23:10 1K34Nq-000HAS-E7 ** admin@tdruskon.ru R=dovecot_user T=dovecot_delivery: Child process of dovecot_delivery transport returned 78 (could mean configuration error) from command: /usr/local/libexec/dovecot/deliver
2008-06-02 11:23:10 1K34Nq-000HAY-F5 <= <> R=1K34Nq-000HAS-E7 U=mailnull P=local S=1750 from <> for alkolexx@mail.ru
2008-06-02 11:23:10 1K34Nq-000HAS-E7 Completed
2008-06-02 11:23:10 1K34Nq-000HAY-F5 == alkolexx@mail.ru R=smarthost defer (-30): transport "remote_smtp" not found in smarthost router
2008-06-02 11:23:10 1K34Nq-000HAY-F5 ** security@tdruskon.ru (security@tdruskon.ru, root@tdruskon.ru, security@tdruskon.ru) <system-filter> R=dovecot_user T=dovecot_delivery: Child process of dovecot_delivery transport returned 78 (could mean configuration error) from command: /usr/local/libexec/dovecot/deliver
2008-06-02 11:23:10 1K34Nq-000HAY-F5 Frozen (delivery error message)
что с этим делать? Почта приходит, но складывается в /var/spool/exim/...
Dovecot переустанавливал раза 4, exim тоже... но косяк остается...

А насчет аутентификации екзима на сервере хостера я вообще не понял ничего... и как представлять адреса из
admin@test.ru в test.ru+admin ... вобщем пипец полный... я в панике просто!
Re: Exim как релей к хостингу почты
Добавлено: 2008-06-02 13:45:06
AlkoGekS
Вобщем нормальный прием почты я обеспечил.. после очередной чистки системы и удаления всех данных по екзиму, он таки нормально заработал на прием.
Но вот с отправкой через их smtp я так и не разобрался...
Re: Exim как релей к хостингу почты
Добавлено: 2008-06-04 14:13:13
AlkoGekS
Вобщем вроде как понял что делать нужно (наткнулся на тему в форуме:
http://forum.lissyara.su/viewtopic.php?f=20&t=5894)
Для начала в секцию роутеров добавляем:
Код: Выделить всё
##smarthost:
##driver = manualroute
##domains = ! +local_domains
##transport = remote_smtp
##route_list = * smtp.spaceweb.ru
##dnslookup:
## driver = dnslookup
## domains = ! +local_domains
## transport = remote_smtp
## ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
## no_more
send_to_gateway:
driver = manualroute
domains = !+local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
route_list = * smtp.spaceweb.ru
Затем в транспорты:
Код: Выделить всё
# Доставка на удалённые хосты - по SMTP
#remote_smtp:
# driver = smtp
# hosts_avoid_esmtp = ${lookup mysql{INSERT IGNORE INTO `sended_list` \
# (`user_from`, `user_to`, `added_timestamp`, \
# `last_mail_timestamp`, `mail_count`) VALUES \
# (LCASE('${quote_mysql:$sender_address}'), \
# LCASE('${quote_mysql:$local_part@$domain}'), \
# UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), '1') ON DUPLICATE \
# KEY UPDATE `last_mail_timestamp` = UNIX_TIMESTAMP(), \
# `mail_count` = `mail_count` + 1}}
remote_smtp:
driver = smtp
hosts_require_auth = smtp.spaceweb.ru
Далее логин на моем сервере в виде
admin@domain.ru а нужно чтобы аутентификация проводилась в виде domain.ru+admin, вроде это будет делаться вот так:
Код: Выделить всё
auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{SELECT LCASE(`username`) FROM \
`mailbox` WHERE `username` = \
LCASE('${quote_mysql:${$domain+$local_part}}') AND `password` = \
'${quote_mysql:$2}' AND `active`='1'}{yes}{no}}
server_prompts = :
server_set_id = $2
# Вроде по этому оутглюк, а по предыдущему нетскейп.
auth_login:
driver = plaintext
public_name = LOGIN
server_condition = ${lookup mysql{SELECT LCASE(`username`) FROM \
`mailbox` WHERE `username` = \
LCASE('${quote_mysql:${$domain+$local_part}}') AND `password` = \
'${quote_mysql:$2}' AND `active`='1'}{yes}{no}}
server_prompts = Username:: : Password::
server_set_id = $1
# А так авторизуется "Летучая Мышь" - TheBat!
auth_cram_md5:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{SELECT `password` FROM \
`mailbox` WHERE `username` \
= LCASE('${quote_mysql:${$domain+$local_part}}') AND `active`='1'} \
{$value}fail}
server_set_id = $1
Будет ли это работать? (В запросах к mysql я разбираюсь не совсем хорошо)
И еще один момент...smtp хостера оправляет письма через 2525 порт, вместо стандартного 25... где это указать?
Чувствую осталось чуть чуть... надеюсь на вашу помощь

очень очень!
Вообще несколько мыслей как использовать, но какая правильная не знаю:
или
...
Re: Exim как релей к хостингу почты
Добавлено: 2008-06-05 11:16:41
AlkoGekS
AlkoGekS писал(а):решил настраивать все по порядку... но вылезли щас вот такие грабли...
Код: Выделить всё
2008-06-02 11:23:10 Resetting acl_m0 10 --> 0, host in whitelist (alkolexx@mail.ru ==> admin@tdruskon.ru)
2008-06-02 11:23:10 1K34Nq-000HAS-E7 <= alkolexx@mail.ru H=f4.mail.ru [194.67.57.65] I=[213.247.226.33]:25 P=esmtp S=874 id=E1K34TH-000At1-00.alkolexx-mail-ru@f4.mail.ru from <alkolexx@mail.ru> for admin@tdruskon.ru
2008-06-02 11:23:10 1K34Nq-000HAS-E7 ** admin@tdruskon.ru R=dovecot_user T=dovecot_delivery: Child process of dovecot_delivery transport returned 78 (could mean configuration error) from command: /usr/local/libexec/dovecot/deliver
2008-06-02 11:23:10 1K34Nq-000HAY-F5 <= <> R=1K34Nq-000HAS-E7 U=mailnull P=local S=1750 from <> for alkolexx@mail.ru
2008-06-02 11:23:10 1K34Nq-000HAS-E7 Completed
2008-06-02 11:23:10 1K34Nq-000HAY-F5 == alkolexx@mail.ru R=smarthost defer (-30): transport "remote_smtp" not found in smarthost router
2008-06-02 11:23:10 1K34Nq-000HAY-F5 ** security@tdruskon.ru (security@tdruskon.ru, root@tdruskon.ru, security@tdruskon.ru) <system-filter> R=dovecot_user T=dovecot_delivery: Child process of dovecot_delivery transport returned 78 (could mean configuration error) from command: /usr/local/libexec/dovecot/deliver
2008-06-02 11:23:10 1K34Nq-000HAY-F5 Frozen (delivery error message)
что с этим делать? Почта приходит, но складывается в /var/spool/exim/...
Dovecot переустанавливал раза 4, exim тоже... но косяк остается...

А насчет аутентификации екзима на сервере хостера я вообще не понял ничего... и как представлять адреса из
admin@test.ru в test.ru+admin ... вобщем пипец полный... я в панике просто!
Вот с этой штукой разобрался... оказывается я закоментировал в dovecot.conf
строчку "postmaster_address" поэтому и ошибка вываливалась:
Код: Выделить всё
# своя доставка dovecot - delivery
protocol lda {
# Куда слать письма про превышение квоты
postmaster_address = admin@tdruskon.ru
# путь к сокету
auth_socket_path = /var/run/dovecot/auth-master
}
пробую раскопать все остальное...
Re: Exim как релей к хостингу почты
Добавлено: 2008-06-05 13:01:01
AlkoGekS
Попробовал отправить письмо со своего компутера через свой сервер на smtp хостера ... получил вот такое сообщение:
Код: Выделить всё
2008-06-05 13:52:59 1K4C9T-0001T6-9E <= admin@tdruskon.ru H=(administrator) [192.168.0.224] I=[192.168.0.202]:25 P=esmtp S=4641 id=000301c8c6f2$d7e05e10$e000a8c0@ruskon.local from <admin@tdruskon.ru> for alkolexx@mail.ru
2008-06-05 13:52:59 1K4C9T-0001T6-9E == alkolexx@mail.ru R=send_to_gateway T=remote_smtp defer (-42): authentication required but no common mechanisms were found
Это я делал меняя настройки аутентификаторов программ.
Теперь как в соседней теме... закоментил все аутентификаторы, добавил
Код: Выделить всё
spaseweb_login:
driver = plaintext
public_name = LOGIN
client_send = : tdruskon.ru+admin : pass
и получил вот такую ошибку:
Код: Выделить всё
2008-06-05 14:03:30 1K4CJe-0001ac-LV <= admin@tdruskon.ru H=(administrator) [192.168.0.224] I=[192.168.0.202]:25 P=esmtp S=4641 id=000801c8c6f4$5034b310$e000a8c0@ruskon.local from <admin@tdruskon.ru> for alkolexx@mail.ru
2008-06-05 14:03:30 1K4CJe-0001ac-LV == alkolexx@mail.ru R=send_to_gateway T=remote_smtp defer (-53): retry time not reached for any host
В всеми телодвижениями в транспортах поменял порт:
Код: Выделить всё
remote_smtp:
driver = smtp
hosts_require_auth = smtp.spaceweb.ru
port = 2525
Вобщем как быть уже не знаю даже....
Re: Exim как релей к хостингу почты
Добавлено: 2008-06-05 16:52:01
AlkoGekS
ап! неужели никто не знает??

Re: Exim как релей к хостингу почты
Добавлено: 2008-06-09 9:40:40
AlkoGekS
Ладно. Поставим вопрос по другому. Можно ли сделать так, чтобы вся исходящая поста просто пересылалась на отдельный ящик в обход smtp хостера ???
Re: Exim как релей к хостингу почты
Добавлено: 2008-06-09 13:13:48
Alex Keda
да
Re: Exim как релей к хостингу почты
Добавлено: 2008-06-09 13:55:52
AlkoGekS
Как? если пользователи отправляют письмо напрямую через smtp хостера, то в экзиме даже в логах не пишется ничего...
Re: Exim как релей к хостингу почты
Добавлено: 2008-06-09 14:02:05
princeps
Прописать в настройках клиентов smtp-сервером exim, или я не так понял что-то?
Re: Exim как релей к хостингу почты
Добавлено: 2008-06-09 14:14:22
AlkoGekS
princeps писал(а):Прописать в настройках клиентов smtp-сервером exim, или я не так понял что-то?
я это в самом начале темы написал... если я так пропишу, что надо чтоб екзим отсылал почту через smtp хостера, где я не могу настроить авторизацию...
Re: Exim как релей к хостингу почты
Добавлено: 2008-06-09 15:06:25
princeps
Извини, невнимательно читал. А просто на хостинге настроить пересылку всех писем на какие-то адреса? Там же обычно дают веб-админку. Или послать начальство лесом под предлогом технически невыполнимой задачи
Re: Exim как релей к хостингу почты
Добавлено: 2008-06-09 15:16:41
Alex Keda
всё выполнимо.
однако я например плохо понимаю что куда идёт и должно.
картинку выкатывай - подскажу
Re: Exim как релей к хостингу почты
Добавлено: 2008-06-10 10:09:51
AlkoGekS
Всем спасибо за поддержку

Оказалось все проще чем я думал... оказалось провайдер закрыл нам 25 порт... поэтому и не работало ничего! Вчера поругался с ними и все нормализовалось!