The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"отправка писем через sendmail через разные smtp-сервера"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от billybons2006 email(ok) on 25-Янв-07, 11:12 
Всем привет!
Сейчас почта уходит через sendmail (который работает просто как передатчик почты до smtp прова) на smtp.myprov.com Отправка проходит так: клиент локальной сети в свойствах почтовой записи в отправке пишет: сервер: 192.168.0.1, порт 25. Авторизация: mail-user/pass-for-mail-user (имя и пароль локальной учетной записи на FreeBSD с sendmail).

Но для разных почтовых ящиков может быть необходимо отправка на разные smtp.

Можно ли сделать так, чтобы в зависимости от имени юзера для авторизации при отправке письма отправлялись через разные smtp провайдера?

Например, у прова есть 3 smtp: smtp.myprov.com, smtp2.myprov.com, smtp3.myprov.com
Я сделаю 3 пользователя: smtp-user, smtp2-user, smtp3-user
В зависимости от того, какой пользователь используется, на такой smtp-сервер прова письма и перенаправляются.

Вот. Помогите, плиз. Вопрос довольно срочный!

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от skoro on 25-Янв-07, 11:26 
>Всем привет!
>Сейчас почта уходит через sendmail (который работает просто как передатчик почты до
>smtp прова) на smtp.myprov.com Отправка проходит так: клиент локальной сети в
>свойствах почтовой записи в отправке пишет: сервер: 192.168.0.1, порт 25. Авторизация:
>mail-user/pass-for-mail-user (имя и пароль локальной учетной записи на FreeBSD с sendmail).
>
>
>Но для разных почтовых ящиков может быть необходимо отправка на разные smtp.
>
>
>Можно ли сделать так, чтобы в зависимости от имени юзера для авторизации
>при отправке письма отправлялись через разные smtp провайдера?
>
>Например, у прова есть 3 smtp: smtp.myprov.com, smtp2.myprov.com, smtp3.myprov.com
>Я сделаю 3 пользователя: smtp-user, smtp2-user, smtp3-user
>В зависимости от того, какой пользователь используется, на такой smtp-сервер прова письма
>и перенаправляются.
>
>Вот. Помогите, плиз. Вопрос довольно срочный!

genericstable? нет, судя по всему mailertable...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от billybons2006 email(ok) on 25-Янв-07, 11:38 
>genericstable? нет, судя по всему mailertable...

Сенкс. Вот как раз этим mailertable занимаюсь... По крайней мере, судя по названию, должно подойти.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от billybons2006 email(ok) on 25-Янв-07, 11:56 
Насколько я понял, mailertable позволяет, например, направить письмо с адресом user@domain.ru через smtp.prov.ru, а user@domain.com - через smtp2.prov.com

Но это не совсем то, что надо :( Адресов, на которые посылаются письма - мульоны, их всех не забить в майлертабле :(

Может, я чего-то не понял?

Вот если бы можно было сделать примерно так:
user1   smtp.prov.ru
user2   smtp2.prov.ru

(где user1 и user2 - имена локальных пользователей)

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от billybons2006 email(ok) on 25-Янв-07, 12:50 
Вроде можно как-то сделать через .forward (лежит себе в директории пользователя). Но вот что именно там надо писать - не могу найти
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от Medlar on 25-Янв-07, 13:01 
Если я правильно понимаю, нужна переадресация в
зависимости от адреса отправителя?
Тогда
http://anfi.homeunix.net/sendmail/smarttab.html
http://www.cs.niu.edu/~rickert/cf/hack/sender_based_routing.m4
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от billybons2006 email(ok) on 25-Янв-07, 13:05 
>Если я правильно понимаю, нужна переадресация в
>зависимости от адреса отправителя?
>Тогда
>http://anfi.homeunix.net/sendmail/smarttab.html
>http://www.cs.niu.edu/~rickert/cf/hack/sender_based_routing.m4

Спасибо! Ознакомлюсь и отпишусь!!!

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от billybons2006 email(ok) on 25-Янв-07, 14:56 
>Если я правильно понимаю, нужна переадресация в
>зависимости от адреса отправителя?
>Тогда
>http://anfi.homeunix.net/sendmail/smarttab.html
>http://www.cs.niu.edu/~rickert/cf/hack/sender_based_routing.m4

Это просто великолепно! Не совсем так, как я хотел, но, полагаю, можно даже самому кой-чего подправить :)

В итоге сделал, что если отправитель mail@mydomain.ru, то smtp будет smtp1@myprov.ru, а если отправитель mail2@mydomain.ru, то - smtp2@myprov.ru!!!

Осталось еще сообразить, как сделать smtp по умолчанию.
@                relay:smtp.myisp.com
из первой ссылки почему-то не работает, ну да это дело временное!
Как раз будет еще одна возможность изучить этот пресловутый m4 :)

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

8. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от Medlar on 25-Янв-07, 16:22 
>Осталось еще сообразить, как сделать smtp по умолчанию.
>@            
>    relay:smtp.myisp.com
>из первой ссылки почему-то не работает, ну да это дело временное!

Так можно спросить автора, e-mail Andrzej Filip указан на странице,
кроме того он один из тех, кто регулярно отвечает на sendmailовской конфе.

>Как раз будет еще одна возможность изучить этот пресловутый m4 :)
Успехов и терпения:), зато потом из sendmail будешь "веревки вить"


Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

17. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от enmar email on 06-Фев-07, 10:22 
>>Осталось еще сообразить, как сделать smtp по умолчанию.
>>@            
>>    relay:smtp.myisp.com
>>из первой ссылки почему-то не работает, ну да это дело временное!
>
>Так можно спросить автора, e-mail Andrzej Filip указан на странице,
>кроме того он один из тех, кто регулярно отвечает на sendmailовской конфе.
>
>
>>Как раз будет еще одна возможность изучить этот пресловутый m4 :)
>Успехов и терпения:), зато потом из sendmail будешь "веревки вить"


Объясните пожалуйста как вы сделали.
Что то я ни как не могу врезаться.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

18. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от billybons2006 email(ok) on 06-Фев-07, 11:37 
Вы имеете ввиду вообще как это было сделано? Или что-то конкретное?
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

19. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от enmar email on 06-Фев-07, 14:20 
>Вы имеете ввиду вообще как это было сделано? Или что-то конкретное?


Перед мною стоит примерно такая же задача.
То есть нужно посылать письма через разные каналы. То есть у нас несколько провайдеров.
И хотим принемать по дефолту каналу. А посылать по разным каналам.
Я так понял что вы сделали через опцию в сендмаил смартхост. И у вас имеется договоренность с провайдером что типа если с ваше хоста идет почта то ее брать и посылать. Так это или не так? А мне нужно самому разруливать почту.
То есть нужно самому почтовому серверу выбирать по какому каналу посылать почту.
Вы не в курсе как это сделать?

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

20. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от billybons2006 email(ok) on 06-Фев-07, 15:13 
>И у вас имеется договоренность с провайдером...
Ни каких специальных договоренностей о почте нет.

>Вы не в курсе как это сделать?

В общем, на странице http://anfi.homeunix.net/sendmail/smarttab.html это описано довольно неплохо.

Подробнее:
1. Создаете файл /etc/mail/smarttable
2. В него записываете то, что указано по ссылке:

test@mike.com.hk lesspopular.mailhub.com
@mike.com.hk     popular.mailhub.com
test@domain.pl   uucp:nodex
test@domain.us   esmtp:[smtp.domain.us]:my.isp
# relay for <> sender [version 8.2+ of smarttable]
@                relay:smtp.myisp.com

Смысл таков, что письма, где отправитель указан test@mike.com.hk пойдут через smtp lesspopular.mailhub.com. Ну остальные записи по аналогии. Последняя - типа, для всех остальных через smtp.myisp.com.

3. Добавляете в ваш конфигурационный файл sendmail-ла (например, sendmail.mc) следующее:

FEATURE(`smarttable')dnl

И файл sendmail.mc (точнее, его часть) будет что-то вроде этого:

...
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
FEATURE(virtusertable, `hash -o /etc/mail/virtusertable')

FEATURE(`smarttable')dnl

dnl Uncomment to allow relaying based on your MX records.
dnl NOTE: This can allow sites to use your server as a backup MX without
dnl       your permission.
divert(-1)
...

4. Генерите новый .cf файл конфигурации sendmail-а (sendmail.cf или test-sendmail.cf).

5. Ну и в конце концов:

# killall sendmail
# /usr/sbin/sendmail -bd -C /etc/mail/test-sendmail.cf

В общем, так примерно.


Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

21. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от enmar email on 06-Фев-07, 15:19 
>>И у вас имеется договоренность с провайдером...
>Ни каких специальных договоренностей о почте нет.
>
>>Вы не в курсе как это сделать?
>
>В общем, на странице http://anfi.homeunix.net/sendmail/smarttab.html это описано довольно неплохо.
>
>Подробнее:
>1. Создаете файл /etc/mail/smarttable
>2. В него записываете то, что указано по ссылке:
>
>test@mike.com.hk lesspopular.mailhub.com
>@mike.com.hk     popular.mailhub.com
>test@domain.pl   uucp:nodex
>test@domain.us   esmtp:[smtp.domain.us]:my.isp
># relay for <> sender [version 8.2+ of smarttable]
>@            
>    relay:smtp.myisp.com
>
>Смысл таков, что письма, где отправитель указан test@mike.com.hk пойдут через smtp lesspopular.mailhub.com.
>Ну остальные записи по аналогии. Последняя - типа, для всех остальных
>через smtp.myisp.com.
>
>3. Добавляете в ваш конфигурационный файл sendmail-ла (например, sendmail.mc) следующее:
>
>FEATURE(`smarttable')dnl
>
>И файл sendmail.mc (точнее, его часть) будет что-то вроде этого:
>
>...
>FEATURE(mailertable, `hash -o /etc/mail/mailertable')
>FEATURE(virtusertable, `hash -o /etc/mail/virtusertable')
>
>FEATURE(`smarttable')dnl
>
>dnl Uncomment to allow relaying based on your MX records.
>dnl NOTE: This can allow sites to use your server as a
>backup MX without
>dnl       your permission.
>divert(-1)
>...
>
>4. Генерите новый .cf файл конфигурации sendmail-а (sendmail.cf или test-sendmail.cf).
>
>5. Ну и в конце концов:
>
># killall sendmail
># /usr/sbin/sendmail -bd -C /etc/mail/test-sendmail.cf
>
>В общем, так примерно.
Правильно ли я понимаю что у вас имеется учетная запись на каждом провайдерском почтовом сервере. И Вы через них посылаете.


Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

22. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от billybons2006 email(ok) on 06-Фев-07, 15:25 
Ну в общем, если есть почтовый ящик, то и smtp/pop сервера есть. Конечно. Не у меня, а у того прова, у кого ящик зареген.
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

23. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от enmar email on 06-Фев-07, 16:39 
>Ну в общем, если есть почтовый ящик, то и smtp/pop сервера есть.
>Конечно. Не у меня, а у того прова, у кого ящик
>зареген.

А у меня ситуевина такая что нет у правайдера ящиков.
И мене не кому сдавать. Можно ли такое сделать?
Я тут подумал что кто мене мешает на каждом провайдере сделать самому по почтовому серверу. То есть поднять три почтовика по числу провайдеров. А на центральном указать что бы он отправлял письма или через одного или через другого или через третьего.
Хотя конечно это плохое решение. Кто что дмает по этому поводу?

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

24. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от billybons2006 email(ok) on 07-Фев-07, 08:54 
>>Ну в общем, если есть почтовый ящик, то и smtp/pop сервера есть.
>>Конечно. Не у меня, а у того прова, у кого ящик
>>зареген.
>
>А у меня ситуевина такая что нет у правайдера ящиков.
>И мене не кому сдавать. Можно ли такое сделать?
>Я тут подумал что кто мене мешает на каждом провайдере сделать самому
>по почтовому серверу. То есть поднять три почтовика по числу провайдеров.
>А на центральном указать что бы он отправлял письма или через
>одного или через другого или через третьего.
>Хотя конечно это плохое решение. Кто что дмает по этому поводу?

ИМХО, все равно, может пров предоставить электронный ящик или нет. Какая разница? Ты же почту получаешь с того smtp, который указан у тебя в настройках.

Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

25. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от enmar email on 07-Фев-07, 19:46 
>>>Ну в общем, если есть почтовый ящик, то и smtp/pop сервера есть.
>>>Конечно. Не у меня, а у того прова, у кого ящик
>>>зареген.
>>
>>А у меня ситуевина такая что нет у правайдера ящиков.
>>И мене не кому сдавать. Можно ли такое сделать?
>>Я тут подумал что кто мене мешает на каждом провайдере сделать самому
>>по почтовому серверу. То есть поднять три почтовика по числу провайдеров.
>>А на центральном указать что бы он отправлял письма или через
>>одного или через другого или через третьего.
>>Хотя конечно это плохое решение. Кто что дмает по этому поводу?
>
>ИМХО, все равно, может пров предоставить электронный ящик или нет. Какая разница?
>Ты же почту получаешь с того smtp, который указан у тебя
>в настройках.
Так хочется получать по одному каналу а отправлять по другому каналу.
Без всяких там провайдеров и без их серверов.
Можно конечно на каждом провайдере поставить свой смтп сервер и тогда отправлять.
То есть имеется центральный на него приходит. С него снимает почту юзер и через него и посылает. А вот этот центральный сервер посылает почту юзера не сам а сдает почтовому серверу который я например поднял на канале другого провайдера. Как сделать такое дело?
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

26. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от billybons2006 (??) on 07-Фев-07, 20:44 
>То есть имеется центральный на него приходит. С него снимает почту юзер
>и через него и посылает. А вот этот центральный сервер посылает
>почту юзера не сам а сдает почтовому серверу который я например
>поднял на канале другого провайдера. Как сделать такое дело?

Честно гря, вы несколько меня запутали и, по-моему, это лучше отдельной темой сделать. Потому что от сути моего вопроса далеко. Сделайте новый топик, вам больше людей ответят. Тока опишите проблему точно, что вы хотите.

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

31. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от openmsk email(ok) on 16-Янв-14, 12:21 
> Подробнее:
> 1. Создаете файл /etc/mail/smarttable
> 2. В него записываете то, что указано по ссылке:
> test@domain.us   esmtp:[smtp.domain.us]:my.isp
> Смысл таков, что письма, где отправитель указан test@mike.com.hk пойдут через smtp lesspopular.mailhub.com.

У меня обратная задача, получатель письма переехал на другой сервер, но адрес у него тот же.
Как мне заставить sendmail письмо пришедшее user@domain.ru сразу перенаправлять на этот же адрес но другой smtp сервер?

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

32. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от anfi email on 16-Янв-14, 18:21 
> У меня обратная задача, получатель письма переехал на другой сервер, но адрес
> у него тот же.
> Как мне заставить sendmail письмо пришедшее user@domain.ru сразу перенаправлять на этот
> же адрес но другой smtp сервер?

You may use FEATURE(`ldap_routing').
It may be used with standard sendmail maps (hash,dbm,...) instead of LDAP queries.

https://groups.google.com/forum/#!search/ldap_routing$20null|sort:relevance|spell:false

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

9. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от billybons2006 email(ok) on 25-Янв-07, 16:24 
Народ, плиз, подскажите хороший источник для изучения m4!!!

Пытаюсь понять вот это:

LOCAL_RULESETS
SSmartTable
R$*             $: ${opMode} $| $(dequote "" $&f $) $| $1
# rewrite <> sender address (empty) to @
Ri  $| $* $| $*        $: $| $1 $| $2
R$- $| $@ $| $*        $: $| @  $| $2
R$* $| $* $| $*        $: $| $2 $| $3
# check sender in smarttable as it is (with domain part)
R$| $+ $| $*        $: $(smarttable $1 $: $) $| $1 $| $2
# check user part of sender address in smarttable
R$| $+@$+ $| $*        $: $(smarttable @$2 $: $) $| $1@$2 $| $3
# smartable found smart host
R$+ $| $* $| $*        $: $1 $| $2 $| $>95 <$1> $3
# clenup
R$* $| $* $| $*        $: $3

Но не в силах :(
Например, что такое $-, $+ - знаю уже, а что такое Ri, $| - понять не в силах. Ну и вообще. Наверняка же есть хорошие источники!

Пока лучшее, что нашел, это:
http://www.samag.ru/art/06.2006/06.2006_02.html
http://www.linuxshare.ru/docs/devel/tools/m4.html

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

10. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от Medlar on 25-Янв-07, 19:17 
В общем, если коротко и не вдаваясь в подробности (сразу скажу, что тут мне не все понятно, почему он именно так делает)

Sendmail.cf в стандартном виде состоит из многих наборов правил перезаписи,
написанных разработчиками. На вход в эти правила подаются заранее определенные значения:
например в check_mail - адрес отправителя, в check_relay - ip-адрес и доменный адрес почтовика, установившего с тобой соединение, и т.д.
Когда ты пишешь свои наборы правил, ты можешь задать на входе какие угодно значения для дальнейшей обработки.

>LOCAL_RULESETS

Итак, задаем новый набор правил
>SSmartTable
Подаем на вход 3 переменные: текущий режим работы (берется из флага -b), адрес отправителя без кавычек и 3 пер-ую, ту что ты отправишь на вход в точке вызова данного набора правил (R$+ < @ $+ >    $: $>SmartTable $1 < @ $2 >).  Видимо, это адрес получателя.

>R$*    $: ${opMode} $| $(dequote "" $&f $) $| $1
где $| это просто метасимвол, который разделяет значения

># rewrite <> sender address (empty) to @
Тут мне не совсем понятно, зачем это: если тек. режим работы - i (что соответствует запуску sendmail с ключом bi (т.е. инициализации aliases (перечитать aliases, newaliases ),
то оставляем только второе и третье входные значения
>Ri  $| $* $| $*  $: $| $1 $| $2

Далее следует обработка случая,когда OpMode непустой ($-) и когда отправитель отсутствует ($@),
ну это бывает, когда почтовик отказывается принять письмо,
и дает сразу отлуп, тогда в логе ты можешь наблюдать from=<>.
Или когда юзер получает извещение о доставке, то отправитель тоже такой будет.
Значит, меняем пустого отправителя на @ и дальше оставляем только второе и третье значения
>R$- $| $@ $| $*  $: $| @  $| $2

Во всех остальных случаях также избавляемся от OpMode и дальше рассматриваем только адрес отправителя и получателя
>R$* $| $* $| $*  $: $| $2 $| $3

Ну а далее загоняем адрес отправителя в таблицу, если соответствие будет обнаружено,
то произойдет перезапись на то, что указано в таблице, при этом сохраняем и адрес
отправителя ($1) и адрес получателя ($2") (следующее правило не сработает)
># check sender in smarttable as it is (with domain part)
>R$| $+ $| $*  $: $(smarttable $1 $: $) $| $1 $| $2

Проверяем доменную часть адреса отправителя в таблице, в случае найденного соответствия
получаем на выход перезаписанного получателя плюс сохраненяем две другие переменные
># check user part of sender address in smarttable
>R$| $+@$+ $| $*  $: $(smarttable @$2 $: $) $| $1@$2 $| $3

Далее отправляем перезаписанный relay получателя и адрес получателя в 95 набор правил
(чтобы переписать эти данные в виде mailer host address)
># smartable found smart host
>R$+ $| $* $| $*        $: $1 $| $2 $| $>95 <$1> $3
># clenup
>R$* $| $* $| $*  $: $3


> Наверняка же есть хорошие источники!

http://www.opennet.me/docs/RUS/sendmail2 (см. 5 главу, п 5.1 Правила перезаписи)
http://www.anrb.ru/linux/sendm.html#3.2A - документация по sendmail
а также ../sendmail/doc/op.me & ../sendmail/cf/README.


Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от billybons2006 email(ok) on 25-Янв-07, 23:25 
Мега сенкс! Осмыслить смогу тока завтра, примерно в таком духе я пытался понять этот скриптик. Ведь в таком же духе можно что угодно делать! Я тока щас начинаю понимать, что мона делать с сендмайлом!
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от Andrzej Filip on 26-Янв-07, 03:52 
>Тут мне не совсем понятно, зачем это: если тек. режим работы -
>i (что соответствует запуску sendmail с ключом bi (т.е. инициализации aliases
>(перечитать aliases, newaliases ),
>то оставляем только второе и третье входные значения
>>Ri  $| $* $| $*  $: $| $1 $| $2

The idea was to "disable" smart table during newaliases processing.
I had ugly problems with aliases and newaliases command after adding handling <> sender to initial "simple" version. Today I would write it "slightly different" but but I keep it as it is according to rule "do not fix what is not broken" :-)

I detected the thread browsing references in logs of anfi.homeunix.net
I think I can understand/read Russian but writing would be too difficult due to lack of practice.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

13. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от billybons2006 email(??) on 26-Янв-07, 09:19 
Andrzej Filip, where I can read more about m4? I can understand it, but I needing a lessons :)
And by the way, it is possible to use your script to select a smtp relay depends on an ip-address of local networks sender mashine?
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

14. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от Andrzej Filip email on 26-Янв-07, 19:43 
> Andrzej, where I can read more about m4? I can understand
> it, but I needing a lessons :)

I would recommend The Bat Book 3rd edition (1st and 2nd editions are "outdated"):
  http://www.oreilly.com/catalog/sendmail3/
*BUT*
* It is a big book (1_000+ pages). I achieved "enlightenment" during *third pass* (of 1st edition) - it takes "some time" to "swallow the book".
* Next major version of sendmail (not sendmail 8.*.*) are going to be "quite unlike" (pretty different) than sendmail-8.

Think "a little" before investing your time in big amounts.

> And by the way, it is possible to use your script to
> select a smtp relay depends on an ip-address of local networks
> sender mashine?

It would require quite simple modification
* using $&{client_addr} instead of $&f
* other sequence different lookups - four lookups i classic sendmail way of handling "octet boundary" nets (*/32 a.b.c.d, */24 a.b.c, */16 a.b, */8 a).

No "rocket science" would be required ;-)

BTW I consider switching my "most preferred MTA" to a MTA under GPL license.

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

15. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от billybons2006 (ok) on 28-Янв-07, 18:02 
>Think "a little" before investing your time in big amounts.

Ok, thanks, I'll think about it!

>It would require quite simple modification
>* using $&{client_addr} instead of $&f
>* other sequence different lookups - four lookups i classic sendmail way
>of handling "octet boundary" nets (*/32 a.b.c.d, */24 a.b.c, */16 a.b,
>*/8 a).

I have to test it before, but thanks a lot!

>No "rocket science" would be required ;-)

:)

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

16. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от billybons2006 email(??) on 30-Янв-07, 12:23 
Вот еще проблема теперь всплыла: многие почтовые сервера требуют авторизации при отправке писем. Например, при отправке письма из локальной сети от имени mail@somemail.uk, сервер somemail.uk требует авторизацию при отправке. Но: авторизация для отправки письма у меня уже пройдена на моем почтовом шлюзе (который шлет всю почту наружу). Может быть, есть какие-нить идеи? И вообще, я хочу в идеале копировать ВСЮ почту (входящую и исходящую) через почтовый комп. Может есть более "нормальный" способ это сделать, чем тот, что я выбрал?

Т.е. сейчас юзер отправляет письмо наружу, авторизуясь на почтовом сервере для пересылки. При этом его отправленное письмо копируется на дополнительный локальный адрес. При этом в зависимости от того, какой адрес отправителя указан в почтовом клиенте, такой smtp и используется.

Но т.к.:
1. Часто надо быстро поменять у конкретного юзера сервер smtp для отправки (при этом адрес отправителя не меняется)
2. Приходится отправлять письма от серверов, которые сами требуют авторизацию

то приходится думать о том, как просто перехватывать весь почтовый трафик. Например, насколько я понимаю, можно средствами ipfw взять и направить весь исходящий на 25 порт трафик и направить его на другой порт, на котором стоит другая копия сендмайла (или вообще на соседний бекап компутер), а исходный пакет послать дальше? Таким образом, я буду независим от сендмайла на шлюзе (шлюз будет просто через nat все перенаправлять и дублировать почтовый трафик).

Огромное спасибо всем отозвавшимся. Ваши советы оказались очень ценными!

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

27. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от Medlar on 08-Фев-07, 11:06 
>Вот еще проблема теперь всплыла: многие почтовые сервера требуют авторизации при отправке
>писем. Например, при отправке письма из локальной сети от имени mail@somemail.uk,
>сервер somemail.uk требует авторизацию при отправке. Но: авторизация для отправки письма
>у меня уже пройдена на моем почтовом шлюзе (который шлет всю
>почту наружу). Может быть, есть какие-нить идеи?
Насколько я понимаю, те релеи, которые вы указали в smarttable, не ваши?
Тогда, наверное, надо договариваться с админами тех релеев, чтобы они для ваших клиентов делали исключение на авторизацию.

И вообще, я хочу
>в идеале копировать ВСЮ почту (входящую и исходящую) через почтовый комп.
>Может есть более "нормальный" способ это сделать, чем тот, что я
>выбрал?
http://www.anrb.ru/linux/sendm.html#3.15

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

28. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от billybons2006 email(ok) on 09-Фев-07, 11:36 
>Насколько я понимаю, те релеи, которые вы указали в smarttable, не ваши?
>Тогда, наверное, надо договариваться с админами тех релеев, чтобы они для ваших
>клиентов делали исключение на авторизацию.

К сожалению, не выход в моем конкретном случае.

>http://www.anrb.ru/linux/sendm.html#3.15

Спасибо. Ссылки видел, единственное, руки не дошли еще до milter. Надо будет его изучить подробнее. Пока я использую правило ipfw для перенаправления всего исходящего почтового трафика на локальный sendmail, а уже он, скопировав письма, отдает их дальше.

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

Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

29. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от YuryD (??) on 09-Фев-07, 16:40 
>Всем привет!
>Сейчас почта уходит через sendmail (который работает просто как передатчик почты до
>Можно ли сделать так, чтобы в зависимости от имени юзера для авторизации
>при отправке письма отправлялись через разные smtp провайдера?
>
>Например, у прова есть 3 smtp: smtp.myprov.com, smtp2.myprov.com, smtp3.myprov.com
>Я сделаю 3 пользователя: smtp-user, smtp2-user, smtp3-user
>В зависимости от того, какой пользователь используется, на такой smtp-сервер прова письма


А завести 3 почтовых ящика для каждой учетной записи с разными smtp для отправки религия не позволяет ? 3 разных юзера - это все равно 3 разные учетные записи почты.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

30. "отправка писем через sendmail через разные smtp-сервера"  +/
Сообщение от billybons2006 email(ok) on 09-Фев-07, 16:54 
> А завести 3 почтовых ящика для каждой учетной записи с разными
>smtp для отправки религия не позволяет ?

Я исповедую opensource, она многое позволяет ):

> 3 разных юзера -
>это все равно 3 разные учетные записи почты.

Поясню. Есть рабочая станция. На ней настроены 5 почтовых ящика на прием и отправку писем разных провайдеров (почтовые ящики все без исключения не моего почтового сервера, а внешних провайдеров). Так вот, бывают ситуации, когда отправляя письмо, мне приходит ответ, что мол, 550: We dont accept mail from spammers или что-нить вроде этого. Я - не спамер. Мой пров - тоже. Но т.к. пров мой очень крупный, то периодически один из его smtp попадает в черный список кого-либо. Но еще не было ситуаций, когда все smtp моего прова попали в этот черный список. Проблема решается, если в настройках клиента менять адрес smtp (один из smtp прова, который не в черном списке). Но бегать по юзерам я не хочу. Внешнюю почту юзера отправялют, проходя авторизацию на моем шлюзе. И вот в зависимости от этого имени я и хотел бы направлять исходящие письма через разные smtp моего прова. Фуф. Написал :)

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру