Отправляет email-рассылки с помощью сервиса Sendsay

mail system

i686-suse-linux)

Hello!

Подскажите, что и где (на русском) можно прочитать о стоении почтовой си
стемы в Linux (sendmail/варианты, fetchmail, procmail).

То что я нагуглил - слишком поверхностно (просто приемры готовых конфиго
в), и мне не слишком помогло, т.к. я слабо себе представляю, как все это
функционирует. К тому же там как правило ничего ни говориться о непостоя
нном подключении.

Ответить   "B." Fri, 21 Jan 2005 21:39:41 +0300 (#302141)

 

Ответы:

Попробую вам подсказать в каком направлении двигаться...

допустим Вы dialup пользователь, и у вас есть один (несколько) ящиков в
Инете... А также Вы хотите отправлять почту через свой внутренний smtp и
забирать ее со своего внутреннего pop/imap, возможно даже это отдельная
выделенная машина в вашей локальной сети...

1. В качестве SMTP сервера может выступать sendmail, postfix, qmail, exim
2. В качестве POP сервера courier или cyrus, qpoper (или как там его) и др.

Итак, происходит соединение с Инетом - в скрипте автоматически
запускаемом системой после установки ppp соединения (например,
/etc/ppp/if-up.local) происходит запуск
a) fetchmail, который соединяется с POP серверами в Инете с Вашими
ящиками, забирает от туда новую почту и перенаправляет ее на Ваш
локальный SMTP
б) принудительно говорится локальному SMTP пересмотреть очередь доставки
для того чтобы отправить необходимую почту во внешний мир (sendmail -q)
Теперь в принципе можно и отключиться от Инета...

Локальный SMTP принимает почту (от пользователя или от fetchmail) и
принимает решение о ее доставке - положить в mailbox/maildir,
перенаправить на другой SMTP сервер - еще один сервер в сети или внешний
сервер в Инете. Понятно, что внешний сервере может быть не доступен,
тогда сообщения не отправляются и остаются в очереди доставки (в
зависимости от настройки сервер сам может периодически пересматривать
очередь доставки на предмет не появилась ли возможность отправить почту,
об принудительной доставке см. выше). К SMTP серверу можно прикрутить
антивирус (clamav) и антиспам (spamassasin).

Локальный POP/IMAP по запросу пользователя обращается к соответствующему
mailbox/maildir и отдает этому пользователю новую почту.

В двух словах - все...

Причем тут иногда упоминающиеся MySQL/PostgreSQL/LDAP?
Эти системы могут хранить информацию о пользователях, таблицах доставки,
внутренних почтовых доменах, сетях, допускающих использование почтовых
серверов и т.д. Если MySQL и PostgreSQL это базы данных, то LDAP это
древовидной хранилище со своей идеологией, LDAP использует сторонюю БД
для хранения данных. При некоторой сноровке и должном ПО в базах данных
можно заставить храниться еще и сами письма.

Ответить   Sat, 22 Jan 2005 23:07:23 +0300 (#302746)

 

i686-suse-linux)

Hello, Kolotov Alexandr <akmypo***@m*****.ru>!

On Sat, 22 Jan 2005 23:07:23 +0300 you wrote:

Угу, спасибо, очень помогло, можно еще несколько вопросов:

Если почта будет складываться на локальной машине, то pop-сервер я так п
онял не нужен?

Угу, fetchmail уже работает, но не понятно, куда девается входящая почта
(по логам все доставляется, никаких ошибок нет).

Fetchmail компилировал с поддержкой procmail, в его конфиге указано толь
ко путь к почтовой директории (~/Mail) и файл для писем по умолчанию
(~/Mail/mbox).

Или же все же лучше использовать не procmail, а smtp-сервер для обработк
и входящей почты?

А что за зверь maildir?
Сейчас у меня почта в MH, а man'ов для maildir что-то нету.

Ответить   "B." Sun, 23 Jan 2005 10:01:51 +0300 (#302907)

 

В сообщении от 1106467311 секунд после начала Эпохи Unix Вы написали:

Да. У меня например Sylpheed забирает прямо из `/var/spool/mail/lostclus'.

Вот пример моего `.fetchmailrc':
set syslog # что бы syslog'у посылались диагностические сообщения

defaults protocol pop3, # по умолчанию протокол pop3
timeout 30, # если через 30 сек. от сервака не слова, считать
что он лежит
nokeep, # не оставлять сообщения на сервере
fetchall, # забирать все, даже помеченные как прочитанные
expunge 8, # забирать по 8 сообщений, очень помогает если
# в ящике много сообщений а связь иногда рвется
mda "procmail -f-" # отдавать сообщения procmail'у

poll "freemail.ukr.net", # первый ящик
user "lostclus",
password "xxx";

poll "ua.fm", # второй ящик
user "lostclus",
password "xxx";

Зачем лишние расходы? MTA будет еще думать куда это сообщение доставить,
когда и так ясно что оно должно идти в локальны ящик, и потом MTA
вызовет все тот же procmail чтобы тот положил его в локальны ящик. Лучше
уже сразу отдавать сообщения procmail'у.

Ответить   Konstantin Korikov Sun, 23 Jan 2005 13:52:04 +0200 (#303034)

 

i686-suse-linux)

Hello, Konstantin Korikov <lostcl***@u*****.net>!

On Sun, 23 Jan 2005 13:52:04 +0200 you wrote:

^^^
Ааааа, блин.
Спасибо за помощь, надеюсь сейчас заработает.

Ответить   "B." Sun, 23 Jan 2005 16:14:47 +0300 (#303063)

 

Здравствуйте, B..

Можно и СМТП сервер, так проще...
а какие требования? мультидроп или просто для одного себя любимого?
для себя можно напрямую фечмейл на МТА натравить...

Ответить   Mon, 24 Jan 2005 13:44:17 +0200 (#303556)

 

i686-suse-linux)

Hello, Майоров И.Е. <electron***@m*****.ru>!

On Mon, 24 Jan 2005 13:44:17 +0200 you wrote:

Мультидроп - для меня и сестры. Скорее всего по cron под рутом буду запу
скать.(Или в ip-up).

В обем-то почту уже получает, но procmail складывает всю посту руту.
Еще попробую поиграться с опцией -d procmail'а.

Или же нужно в .fetchmailrc использовать is username, а в .procmailrc ра
спихивать их по разным юзерам (фильтруя по From)?

Плохо то, доступ не постоянный.

Ответить   "B." Mon, 24 Jan 2005 16:20:03 +0300 (#303771)

 

Здравствуйте, B..

у меня в /etc лежит fetchmailrc
фечмейл демонизирован
set postmaster "imayorov"
set nobouncemail
set no spambounce
set properties ""
set daemon 600
set syslog
poll mail.domain.net
with proto pop3
aka domain.com.ua localdomains domain.com.ua
user username with pass yourpassword to * here

И дальше все это без прокмейла скармливается постфиксу

Ответить   Tue, 25 Jan 2005 11:41:59 +0200 (#304146)

 

Здравствуйте, B..

К примеру я подымал postfix на mandrake 10. Конечно спецы меня сразу
заплюют, но мне был срочно нужен почтовик и всего на 1 неделю, так что
поймите меня гуру.
Примечательно то, что в этом дистрибутиве были даже скрипты, которые
управляли постфиксом, когда падает/подымается подключение к внешней
сети.
по постфиксу можно почитать начиная отсюда:
URL http://samag.ru/img/uploaded/2004/samag2004.pdf

Ответить   Mon, 24 Jan 2005 08:42:57 +0200 (#303389)

 

i686-suse-linux)

Hello, Майоров И.Е. <electron***@m*****.ru>!

On Mon, 24 Jan 2005 08:42:57 +0200 you wrote:

А что в нем такого плохого?
Не с sendmail же возиться.

Ну, с этим я справлюсь (Кажется, опция -c).

Угу, спасибо.

Ответить   "B." Mon, 24 Jan 2005 16:13:40 +0300 (#303770)

 

Доброго времени суток.

On Mon, 24 Jan 2005 16:13:40 +0300
"B." <boff20***@m*****.ru> wrote:

Подозреваю, что имеется в виду не postfix, а Mandrake...

Ответить   Tue, 25 Jan 2005 03:33:49 +0200 (#303955)

 

Зачем для отправки писем одного человека (конечно если он не занимается
рассылкой спама) поднимать целый почтовый сервер (postfix)? Для того
чтобы отослать 5-10 писем в день, достаточно замечательной проги msmtp,
которая не висит демоном (и следовательно впустую тратит ресурсы), а
запускается только когда вы отправляете письмо...

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 15403; Возраст листа: 550; Участников: 1323
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/304498

Ответить   Tue, 25 Jan 2005 22:14:09 +0300 (#304498)

 

В сообщении от 1106684049 секунд после начала Эпохи Unix Вы написали:

Логично. Нужно познакомится с этим зверем.

Ответить   Konstantin Korikov Tue, 25 Jan 2005 23:06:11 +0200 (#304555)

 

i686-suse-linux)

Hello, Anton <za@p*****.net>!

On Tue, 25 Jan 2005 22:14:09 +0300 you wrote:

Боюсь, она не даст мне нужных мне фич:
1. Эмуляция постоянно доступного smtp.
2. Использование различных smtp для пересылки в зависимости от того, что
находится в FROM.
3. Модификация некоторых заголовков. (X-Mailer, Recieved и др.)

Ответить   "B." Wed, 26 Jan 2005 21:42:37 +0300 (#305145)

 

Hi B., you wrote:

А вот про этот пункт можно подробнее, как это сделать?

--
j1m.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 15429; Возраст листа: 552; Участников: 1320
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/305218

Ответить   j1m Thu, 27 Jan 2005 02:20:40 -0600 (#305218)

 

i686-suse-linux)

Hello, j1m <j1m@l*****.ru>!

On Thu, 27 Jan 2005 02:20:40 -0600 you wrote:

Пока что не знаю. Но практически уверен, что можно.
В данный мосмент postfix у меня даже не установлен (т.к. все никак не вы
качаю нужную для него BerkleyDB).

Ответить   "B." Thu, 27 Jan 2005 16:25:45 +0300 (#305781)

 

В сообщении от 1106835945 секунд после начала Эпохи Unix Вы написали:

По полю To можно. Это называется routing и задается примерно так:

/etc/postfix/main.cf:
transport_maps = hash:/etc/postfix/transport

/etc/postfix/transport:
host1.com smtp:relayhost1.com
user@h*****.net smtp:relayhost2.com

А вот по полю From боюсь что нельзя. А для чего это вообще нужно?
Почему нельзя отправлять все сообщения через один SMTP-сервер?

Ответить   Konstantin Korikov Thu, 27 Jan 2005 22:01:13 +0200 (#305972)

 

i686-suse-linux)

Hello, Konstantin Korikov <lostcl***@u*****.net>!

On Thu, 27 Jan 2005 22:01:13 +0200 you wrote:

Посмотрим. Может быть, придется как-то извращаться.

Сомневаюсь, что smpt.mail.ru станет принимать мейлы, у которых в FROM ст
оит @r*****.ru***@c*****.ru***@y*****.ru.

Ответить   "B." Fri, 28 Jan 2005 16:25:10 +0300 (#306598)

 

On 28.01.2005, at 16:25, B. wrote:

А я не сомневаюсь - он не отправляет их, просто ответит что адрес не
майловский
и все.

Ответить   Max Vasin Fri, 28 Jan 2005 23:31:06 +0300 (#306640)

 

Здравствуйте, Max.

угу:
[root@nibulon root]# telnet smtp.mail.ru 25
Trying 194.67.23.111...
Connected to smtp.mail.ru (194.67.23.111).
Escape character is '^]'.
220 mail.ru ESMTP Sat, 29 Jan 2005 14:52:43 +0300
helo nibulon.com.ua
250 mx1.mail.ru Hello nibulon.com.ua [213.227.244.3]
mail from: <te***@r*****.ru>
250 OK
rcpt to: <electron***@m*****.ru>
550 not local sender over smtp

Ответить   Sat, 29 Jan 2005 13:55:18 +0200 (#306916)

 

В сообщении от 1106922310 секунд после начала Эпохи Unix Вы написали:

Будет, будет, куда он денется :). Главное чтобы envelope from был
родной (и правильный), он передается на уровне SMTP протокола, и
задается так:

/etc/postfix/main.cf:
sender_canonical_maps = hash:/etc/postfix/sender_canonical

/etc/postfix/sender_canonical:
user1 userna***@m*****.ru
user2 userna***@r*****.ru

На адрес envelope from отправляются сообщения об ошибках доставки,
если такие имеют место.

Ответить   Konstantin Korikov Fri, 28 Jan 2005 23:36:13 +0200 (#306671)

 

On Fri, 28 Jan 2005 23:36:13 +0200
Konstantin Korikov <lostcl***@u*****.net> wrote:

Вот попробовал. Имеем:

/etc/postfix/sender_canonical:
mathw***@f*****.com mathw***@l*****.ru

В настройках аккаунта mathw***@f*****.com SMTP стоит localhost.
Письмо отсылается без проблем, но исходник доставленого письма
выглядит так:

Return-path: <mathw***@l*****.ru>
Received: from [82.207.61.8] (port=1221 helo=localhost.localdomain)
by mx2.mail.ru with esmtp
id 1D0b4p-000KqT-00
for mathw***@l*****.ru; Mon, 14 Feb 2005 10:55:27 +0300
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by localhost.localdomain (Postfix) with SMTP id F28F02C0E8
for <mathw***@l*****.ru>; Mon, 14 Feb 2005 09:55:22 +0200 (EET)
To: mathw***@l*****.ru
Message-Id: <20050214095522.50b91478.mathw***@f*****.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Spam: Not detected

;lfjb;fjgm
sgmagia
m;ghia

Нигде не фигурирует mathw***@f*****.com, т.е. я с тем же успехом мог
отсылать письмо с mathw***@l*****.ru. Как сделать так, чтобы обратный адрес все
же где-то светился?

Ответить   Matvey Mon, 14 Feb 2005 10:03:13 +0200 (#315807)

 

В сообщении от 1108368193 секунд после начала Эпохи Unix Вы написали:

В этом всем я заметил три ошибки:

1. В `/etc/postfix/sender_canonical' нужно писать не

mathw***@f*****.com mathw***@l*****.ru

а

mathway mathw***@l*****.ru

где mathway - имя пользователя, которое присутствует в `/etc/passwd'.

2. Сообщения пришедшие по SMTP без авторизации не могут быть
приписаны какому нибудь пользователю. Отсылать нужно через
`/usr/sbin/sendmail -t'.

3. Отсылать самому себе на mailru Вы сможете, а вот использовать его
как реле (relay) Вы не сможете если в поле From стоит не mathw***@l*****.ru.
Я уже об этом писал.

Ответить   Konstantin Korikov Mon, 14 Feb 2005 10:50:29 +0200 (#315899)

 

On Mon, 14 Feb 2005 10:50:29 +0200
Konstantin Korikov <lostcl***@u*****.net> wrote:

все

есть

Можно по-подробнее: какого родаавторизация и как ее завести;
пользователь из /etc/passwd;
отсылать через `/usr/sbin/sendmail -t' нужно в каком случае - с авторизацией
или без?

Применив п.1 сего письма, получил фе от smtp.mail.ru в виде
Feb 14 20:44:11 localhost postfix/smtp[11987]: ED7932C4D3: to=<mathw***@f*****.com>,
relay=smtp.mail.ru[194.67.23.111], delay=1, status=bounced (host smtp.mail.ru[194.67.23.111]
said: 550 not local sender over smtp)
Feb 14 20:44:12 localhost postfix/smtp[11789]: 009FE2C0E8: to=<mathw***@f*****.com>,
relay=smtp.mail.ru[194.67.23.111], delay=2, status=bounced (host smtp.mail.ru[194.67.23.111]
said: 550 not local sender over smtp)

Т. е. не прошло письмо ни юзеру ни релею.

Ответить   Matvey Mon, 14 Feb 2005 20:52:38 +0200 (#316201)

 

В сообщении от 1108407158 секунд после начала Эпохи Unix Вы написали:

А какая стоит задача? Если Вы хотите оправлять через mail.ru
сообщения, в которых в поле From содержится адрес отличный
от вашего адреса на mail.ru, то ничего не получится.

http://www.mail.ru/pages/help/261.html

Если Вы согласны отправлять все сообщения с вашего адреса
на mail.ru, то:

1. Настройте в почтовом клиенте учетную запись с нужным
адресом.

2. Настройте почтовый клиент на отправку через команду
`sendmail' (`/usr/sbin/sendmail -t').

3. В `/etc/postfix/sender_canonical' запишите строку

mathway mathw***@m*****.ru

где mathway - пользователь, под которым Вы работаете,
mathw***@m*****.ru - ваш почтовый адрес на mail.ru
(если mail.ru допускает использование других доменов,
поставьте правильный адрес). Выполните

# postmap /etc/postfix/sender_canonical

Убедитесь что в `/etc/postfix/main.cf' есть строка:

sender_canonical_maps = hash:/etc/postfix/sender_canonical

4. В `/etc/postfix/main.cf' пропишите

relayhost = smtp.mail.ru

где smtp.mail.ru - правильное доменное имя SMTP-сервера.
(я никогда не использовал mail.ru так что всех его настоек
не знаю)

5. Если SMTP-сервер требует аутентификацию, в `/etc/postfix/main.cf'
пропишите:

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =

В `/etc/postfix/sasl_passwd' укажите:

smtp.mail.ru mathway:passwd

где smtp.mail.ru - доменное имя SMTP-сервера,
mathway - имя пользователя для аутентификации,
passwd - пароль. Выполните:

# postmap /etc/postfix/sasl_passwd

6. Перезагрузите Postfix:

# /usr/sbin/postfix reload

Ответить   Konstantin Korikov Tue, 15 Feb 2005 06:31:09 +0200 (#316356)

 

В сообщении от 1106922310 секунд после начала Эпохи Unix Вы написали:

http://www.mail.ru/pages/help/261.html

Можно попробовать использовать другой сервер. Например я через
mail.ukrpost.net отсылаю сообщения с разным полем From. Когда
пользовался провом, который даже предоставлял клиентам свой
SMTP-сервер, то же без проблем. ua.fm тоже принимает такие
сообщения.

Ответить   Konstantin Korikov Sat, 29 Jan 2005 20:44:39 +0200 (#307131)

 

В сообщении от 1106768557 секунд после начала Эпохи Unix Вы написали:

Да эта штука вообще не годится для dialup. Главный аргумент - отсутствие
очереди сообщений. Еще отсутствует локальная доставка. Лучше все-таки
Postfix с отключенным SMTP-сервером (почта отправляется посредством
команды `sendmail').

Ответить   Konstantin Korikov Fri, 28 Jan 2005 20:21:03 +0200 (#306566)

 

В сообщении от Пятница, 21-Янв-2005 20:39 B. написал(a):

Могу порекомендовать книгу Ричарда Блама "Система электронной почты на основе

Linux". Мне очень понравилась. Нужно поискать ее в интернет-магазинах (я ее
именно так и нашел). Также натыкался и не электронную версию, но не помню
где.

Руслан Гундаков

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 16076; Возраст листа: 578; Участников: 1331
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/321317

Ответить   Fri, 18 Feb 2005 20:22:52 +0200 (#321317)

 

Ruslan A.Gundakov wrote:

А вот и ссылочка:
http://linux.zp.ua/doc/ru/notes/email/

--
This message was scanned for viruses and it's not infected.
Kyivstar GSM.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 16084; Возраст листа: 579; Участников: 1331
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/321564

Ответить   Victor Karpovich Wed, 23 Feb 2005 10:28:36 +0200 (#321564)

 

i686-suse-linux)

Hello, "Ruslan A.Gundakov" <ruslan9***@m*****.ru>!

On Fri, 18 Feb 2005 20:22:52 +0200 you wrote:

Спасибо, но я уже разобрался "методом тыка": частично из документации, ч
астично эксперементами понял, что все это значит и как это работает.

Ответить   "B." Wed, 23 Feb 2005 20:49:37 +0300 (#321773)