Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Почтовый сервер Sendmail FAQ

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Открыть новую тему     Написать ответ в эту тему

Uriel

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В первом посте собираем полезные ссылки по Sendamil
 
Почтовый сервер Sendmail

 
 
http://www.sendmail.org/  - официальный сайт
http://www.opennet.ru/docs/RUS/sendmail2/index.html  - по русски, все подробно расписано, все команды ипоследовательность действий,  
http://www.opennet.ru/docs/RUS/sendmail_faq/index.html - Хороший русский FAQ по Sendmail:
http://www.opennet.ru/docs/134.shtml  
http://www.opennet.ru/docs/RUS/sendmail_doc/index.html  
http://www.opennet.ru/docs/RUS/inet_server/servers_index.html
http://sendmail.by.ru/  - Сендмейл по русски
http://www.indigostar.com/sendmail.htm  - Sendmail под Windows  
http://unixdocs.rags.ru/maillog.html - Обработка логов Sendmail  
http://gyro.hotbox.ru/sendmail/pap.html - по русски + сравнение с другими серверами
http://home.i.cz/reho/check_virus/  - описание процесса прикручивания AVP к сендмейлу (и инструментарий)
http://www.opennet.ru/docs/RUS/avp-sendmail/index.html -  avp+sendmail - Как прикрутить AvpDaemon к sendmail
 
 
 
В отдельных темах обсуждается:
 
Sendmail: где хранится список пользователей и их почта
Код возврата у Sendmail как получить?
Очереди в Sendmail
Backup отправляемой почты в Sendmail
Вопросы апгрейда (upgrade) Sendmail
Надстройки к Sendmail: ограничения ящиков и вебинтерфейс
Антивирус для Sendmail
Sendmail + AVP
блокировка аттачментов по расширению (sendmail, procmail)
Перевод с Merak Maikl server на Sendmail+cyrus+sasl
 
А также посмотрите фильтр по Sendmail
 
ЧЗВ (FAQ):
Два одинаковых почтовых ящика с разными доменами на одном сервере (admin@test1.ru, admin@test2.ru)

Всего записей: 269 | Зарегистр. 26-06-2002 | Отправлено: 21:52 06-10-2002 | Исправлено: Delphi6, 21:59 15-01-2007
Delphi6



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте,
 
Есть проблема с пониманием sendmail, прочитал несколько документаций по sendmail, скажу честно не полностью но довольно большой объем. Читать прекратил по той причине что по сути ответа на свой вопрос так и не получил. Как я понял sendmail является Mail Transfer Agent-ом, ну или другими словами отвечает за контроль мыла, и при надобности передаче его sendmail-у того сервера куда должно быть доставлено письмо (эти данные он считывает из DNS MX записи данного домена). Теперь возникли несколько вопросов:
 
1) Как описывалось в доке, что бы создать новый почтовый ящик, надо создать по никсами пользователя с таким именем. Конечно первый вопрос который появляется это безопасность. Будет ли работать почтовый ящик если я пользователю при логине дам Shell = /bin/false или /usr/sbin/nologin? Я спрашиваю так как если такое сделать с юзером то доступа к FTP он не получит точно (ProFTPD). Возможно все дело в том что я не правильно сконфигурировал все?
Ответ: Пользователю можно не дать доступа в шел выше указанным способом, также можно указать что логин ему запрещается на машину.
 
2) Проблема с одинаковыми именами для двух разных доменов. Для примера admin@test1.ru и admin@test2.ru это два почтовика и должны принадлежать двум разным пользователям, как это сделать? Единственное что я сообразил так это создать пользователей с именами "admin@test1.ru" и "admin@test2.ru" потом с помощью Virtual Address Mapping-ов адресовать почту пришедшую на admin@test1.ru пользователю "admin@test1.ru" и admin@test2.ru соответственно "admin@test2.ru". Но как-то все это запутано, получается для одного мыла надо кучу операций делать. Да и порождает вопрос (3).
Ответ: Для каждого почтовика надо создавать собственного пользователя. Так как имя пользователя не должно превышать 16 символов, желательно имя выбирать не admin_test1_ru а в таком формате mail_admin_1 и mail_admin_2.
 
3) Умеет ли sendmail работать с протоколами SMTP и POP3 по умолчанию? Нужно ли мне устанавливать сторонние программы что бы я смог подконектиться к серверу через 25 порт и смог отправить письмо SMTP протоколом? Тоже касается POP3.
Ответ: Для POP3 соединения надо использовать Dovecot IMAP/POP3 Server а для SMTP соединения надо его открыть в sendmail. Что бы спамеры не заюзали сервер как шлюз надо sendmail сконфигурировать c sasl и настроить аутентификацию.
 
Прошу прошения за такой большой топик, я уже благодарен за то что вы его прочитали до конца.
 
п.с. Обидно что нет простой документации для нубов, как добавить почтовый ящик и управлять им используя sendmail
Ответы были добавлены мной, дабы облегчить пользователю который будет искать ответ на часто задаваемый вопрос.

Всего записей: 2631 | Зарегистр. 06-07-2004 | Отправлено: 13:26 15-01-2007 | Исправлено: Delphi6, 10:47 17-01-2007
arto

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://www.samag.ru/art/05.2006/05.2006_01.html
http://www.samag.ru/art/06.2006/06.2006_02.html
http://www.samag.ru/art/07.2006/07.2006_01.html

Всего записей: 294 | Зарегистр. 08-02-2003 | Отправлено: 13:40 15-01-2007
billybons2006



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Delphi6,
 
1) будет
2) не знаю точно
3) для доставки почты на свой локальный почтовый сервер sendmail использую fetchmail (забирает почту с внешних севреров и передает ее sendmail-у).

Всего записей: 227 | Зарегистр. 24-01-2006 | Отправлено: 13:40 15-01-2007
Delphi6



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
arto
Спасибо с первого взгляда дока очень привлекательная, надо будет почитать.
 
billybons2006
Спасибо а я думал зачем у меня на серваке fetchmail стоит, пойду доку по нему почитаю еще
 
Добавлено:
Как я и подозревал fetchmail используется только для собирания почты. В последствии через POP3 (или какой выбран) протокол позволять пользователям скачивать мыло.
 
Но вопрос остается открытым, как мне разобраться с пользователями admin@test1.ru и admin@test2.ru оба письма будут отправлены в один почтовый ящик (файл) admin. В fetchmail я не нашел возможности указать что данные письма могут разделяться. У него есть возможность разделять письма admin@test1.ru, root@test1.ru, user@test1.ru по разным боксам, хотя там говориться что на это не стоит пологаться, ибо на работает на все 100%.
 
Получается единственной идеей является создание нового пользователя для каждого почтового ящика, что не есть хорошо Да и это вариант не осуществим так как я не смог найти M4 (работаю из под webmin) что означает что в моем случае я даже конфигурировать ничего не могу Надо все ручками в блокнотике, с нуля делать
 
Еще появилась идея создать пользователя для одного домена, и всю почту к нему сливать, а вот fetchmail-у дать возможность самостоятельно решать кому что выдавать. Хотя это тоже не осуществимо так как конфигурационного файла M4 (как говориться в доке это часто бывает если прога шла вместе с дистрибутивом ОС)
 
п.с. И что делать с SMTP? Как сделать что бы можно было к нему коннектиться но только с паролем? Читал что для этого надо будет прикручивать еще программу аутентификации (хотя в доке написано v8.* уже интегрирована команда AUTH)

Всего записей: 2631 | Зарегистр. 06-07-2004 | Отправлено: 13:58 15-01-2007 | Исправлено: Delphi6, 15:28 15-01-2007
arto

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
можно посмотреть в сторону etrn и virtualtable.
но надо договариваться с провайдером.

Всего записей: 294 | Зарегистр. 08-02-2003 | Отправлено: 19:51 15-01-2007
Delphi6



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
arto
Ок почитаю, а пока оказалось надо юзеров для каждого мыла добавлять Так что в этом не ошибся, sendmail так или иначе на получение писем настроил, сейчас надо добавить аутентификацию и fetchmail настроить

Всего записей: 2631 | Зарегистр. 06-07-2004 | Отправлено: 20:24 15-01-2007
arto

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не обязательно.
стоит посмотерть на virtusertable etc.

Всего записей: 294 | Зарегистр. 08-02-2003 | Отправлено: 23:01 15-01-2007
Delphi6



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
arto
virtusertable -> virtuser?
Там же можно сделать редирект определенного мыла (хоста) на определенное мыло (хост), и как это можно заюзать для данной проблемы?
 
Если вас не затруднит моте вы немного по подробней изложите свое предложение? Либо укажите ссылку на ту часть доки где можно про это прочитать (но желательно так что бы не пришлось читать 10 листов а полезного для дела только пару абзацев)

Всего записей: 2631 | Зарегистр. 06-07-2004 | Отправлено: 23:23 15-01-2007
arto

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
less -p "(virtuser|generics)table" /usr/share/sendmail-cf/README

Всего записей: 294 | Зарегистр. 08-02-2003 | Отправлено: 01:51 16-01-2007
tolyn77



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
у меня в очереде более 300 сообщений судя по mailq давность их уже больше 4 дней можно как нибудь часть этих сообщей удалить?

Всего записей: 1498 | Зарегистр. 07-09-2004 | Отправлено: 08:07 16-01-2007
arto

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
обы¨но sendmail сам их удаляет по истечению срока хранения.
попробуйте sendmail -q -v -- попробует протолкнуть очередь и покажет, на чем затыкается.
если обязательно хотите, то посмотрите, где у вас лежит очередь и rm ??QUEUEID

Всего записей: 294 | Зарегистр. 08-02-2003 | Отправлено: 08:52 16-01-2007
Delphi6



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
arto

Цитата:
less -p "(virtuser|generics)table" /usr/share/sendmail-cf/README

Сори но я так и не понял как можно заюзать vrituser что бы создать кучу пользователей? Я то понимаю что там есть возможность виртуальное мыло редиректить на конкретного пользователя, но это не решает проблемы получения писем определенного пользователя через POP3 протокол, так как я автоматом буду качать все письма с почтовика на который все скидывается
 
Если я редиректну user1@test.ru и user2@test.ru на пользователя test_ru то как я потом через POP отсортирую где чие? и каждому пользователю выдам только его письма?

Всего записей: 2631 | Зарегистр. 06-07-2004 | Отправлено: 12:27 17-01-2007
arto

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не понятно, что вы подразумеваете под "кучей пользователей"?
давайте оперировать понятием "почтовый ящик".
 
для pop вы можете сохранять метаинформацию из envelope, например, через
дополнительные заголовки, и по ним фильтровать/разбирать почту.
 
либо через procmail, и ему передавать RCPT TO как переменную среды.

Всего записей: 294 | Зарегистр. 08-02-2003 | Отправлено: 14:08 17-01-2007
Delphi6



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
arto
Так давайте я вам объясню что мне нужно а вы уж потом скажите как это можно реализовать (я в сис. администрировании не разбираюсь к сожалению).
 
Для создания почтового ящика мне надо воспользоваться следующими программами:

Цитата:
1) sendmail для получения мыла непосредственно на мой сервер (пришедшие письма помещаются в соответственный файл, "почтовый ящик")
2) dovecot для работы с данным почтовым ящиком через протокол POP3
3) sasl + sendmail для аутентификации по протоколу SMTP и отправки письма.

Думаю здесь я все правильно изложил. Теперь перейдем к практическому занятию. Допустим мне нужен почтовый ящик admin@example.com, что я делаю:

Цитата:
1) Прописываю example.com в списке локальных доменов Local Domains (Cw)
2) Создаю юникс пользователя, допустим em_admin_1 (хотя подозреваю это можно избежав создав виртуального пользователя для sendmail, как это сделать я пока не знаю), ну и соответственно в каталоге /var/mail/ появиться его почтовый ящик em_admin_1.
3) Прописать переадресацию письма с мыла admin@example.com на локальный почтовый ящик em_admin_1 в Address Mappings (virtuser)
4) Как-то отконфигурировать dovecot, пока не знаю как не добрался до этого, там тоже надо указать путь к базе виртуальных пользователей и их паролей
5) Ну это уже вообще только на уровне идей, надо отконфигурировать в sasl-овой базе данного пользователя что бы он имел право отсылать письма, тоже пока не знаю как сделать.

Думаю теперь все понятно?
 
п.с. Почему так сложно настроить почтовый ящик?

Всего записей: 2631 | Зарегистр. 06-07-2004 | Отправлено: 14:30 17-01-2007 | Исправлено: Delphi6, 14:30 17-01-2007
arto

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
т.е. у вас есть виртуальный домен example.com.
 
1. заводите generic пользователя для данного домена (adduser -c "Generic user for example.com" gexample
2. echo "example.com" >> /etc/mail/local-host-names
3. echo "@example.com\t\t\tgexample" >> /etc/mail/virtusertable
4. echo "\nLOCAL_RULE_3\nHX-Rcpt-To: \$u" >> /etc/mail/sendmail.mc
5. make -C/etc/mail all restart
6. telnet your.host 35
HELO localhost
MAIL From:<>
RCPT To:<test@example.com>
DATA
.
QUIT
7. less /var/mail/gexample
 
все, письмо получено, в нем есть заголовок X-Rcpt-To с именем того, кому письмо пришло.
фильтруйте по нему.
 
ps. учиться надо, и будет все просто

Всего записей: 294 | Зарегистр. 08-02-2003 | Отправлено: 00:22 18-01-2007 | Исправлено: arto, 00:52 18-01-2007
Delphi6



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
arto
Спасибо большое за ваш пост.
 
Разбирая dovecot я немного продвинулся и сообразил что вы имели в виду. Я должен создать файл типа passdb и userdb и как то его потом прикрутить к sendmail-у, ну типа указать ему что бы он брал пользователей и из этого файла, кроме системного /etc/passwd к примеру /etc/passwd.mailusers. Тем самым пользователи описанные в этом файле не будут иметь никакого отношения к системе. Но какие UID и GID им давать? Home директорию можно дать /tmp.
 
Если я все правильно понял то все будет работать. Для dovecot-а я уже создал такой файл, правда пароли у меня пока в plain формате, ибо не знаю как можно добавлять так что бы пароль шифровался и помещался кажется в shadow файл. Для этого должна быть команда.
 
Прошу прошения если я где-то ошибаюсь, я уже 3 день пытаюсь разобраться и с каждый днем все ближе и ближе подбираюсь к истине, читаю кучу доков и мануалов.
 
Добавлено:
В доках замечал вот еще один интересный термин, что мол с помощью IMAP один пользователь может иметь больше чем один почтовый ящик. Я понимал почтовый ящик как файл с именем совпадавшим с именем пользователя и помещенном в директории /etc/mail/%u

Всего записей: 2631 | Зарегистр. 06-07-2004 | Отправлено: 16:12 18-01-2007
Delphi6



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот нашел как создаються виртуальные пользователи для dovecot

Код:
#dovecot >= 1.0alpha required
default_mail_env = maildir:/home/%d/%n/Maildir
userdb passwd-file {
  args = /home/%0.d/etc/users
}
passdb passwd-file {
  args = /home/%d/etc/shadow
}

Значит должно быть что-то похожее и для sendmail клавное найти что и куда прописывать. Может подскажете?
 
Добавлено:
Хочу уточнить свой вопрос, как именно указать sendmail-у что мыло надо пришедшее на адрес name@domain.com надо помещать в файл /etc/mail/domain.com/name, и было бы вообще супер если при это если файл не существует он бы его создал Но это чисто для удобства, я и сам могу вручную для начала его создать. Понятно что здесь надо задействовать virtusertable но как? Там можно указывать только какое мыло куда пересылать .

Всего записей: 2631 | Зарегистр. 06-07-2004 | Отправлено: 18:37 18-01-2007
arto

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
с dovecot не работал

Всего записей: 294 | Зарегистр. 08-02-2003 | Отправлено: 19:51 18-01-2007
Delphi6



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
arto
А как на счет второй части вопроса? Я его потом добавил и вы наверно не заметили:

Цитата:
Хочу уточнить свой вопрос, как именно указать sendmail-у что мыло надо пришедшее на адрес name@domain.com надо помещать в файл /etc/mail/domain.com/name, и было бы вообще супер если при это если файл не существует он бы его создал Но это чисто для удобства, я и сам могу вручную для начала его создать. Понятно что здесь надо задействовать virtusertable но как? Там можно указывать только какое мыло куда пересылать .

Большое спасибо за помощь
 
Кстати у меня после попытки скрестить sendmail + sasl он вообще не слушает 25 порт
 
п.с. немного офтопа: насколько грамотно написана дока для dovecot-а и насколько запутано и криво для sendmail. Неужели сложно было на сайте разместить доку и описание как использовать, с банальным примером самой простой конфигурации, что бы было от чего отталкиваться.

Всего записей: 2631 | Зарегистр. 06-07-2004 | Отправлено: 20:11 18-01-2007 | Исправлено: Delphi6, 20:14 18-01-2007
arto

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
используйте подходящий меилер, например procmail.
 
по sasl -- http://www.sendmail.org/~ca/email/auth.html не помогает?
 
ps. сендмайл поставляется с примерами конфигурации и отличной документацией

Всего записей: 294 | Зарегистр. 08-02-2003 | Отправлено: 21:06 18-01-2007
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Почтовый сервер Sendmail FAQ


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru