Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» Почтовый сервер Sendmail FAQ

Автор: sergsd
Дата сообщения: 10.11.2006 15:55
Добрый день.
Подскажите мне пожалуйста:
я установил sendmail(IndigoMail) под windows, настроил его, но при отслыке письма он пишет мне:

Error: connect failed
Message delivery failed



Вот мои файлы конфигурации:
sendmail.ini:


Цитата:
[OPTIONS]
;Mail servers host name
MAILSERVER=192.168.0.12
;Default value for senders email address
FROM=xxxx@rambler.ru
;Default value for reply-to address
REPLYTO=
;Registration key
REGKEY=:ENT:20061010,192.168.0.12,2282
;Authenticate to SMTP sever (yes=y)
AUTHENTICATE=n
;User name for authentication
USERNAME=
;password for authentication
PASSWORD=


Вот, что пишет sendmail.log:

Цитата:

Sendmail for Windows V3.00 B6 at Fri Nov 10 16:40:20 2006
Machine name: COMPUTER177 [192.168.0.12]
Licensed to :ENT:20061010 for 192.168.0.12 [192.168.0.12]
Sending mail from blabla@bla.ru to xxxx@rambler.ru
Subject: Тема
Error: connect failed
Message delivery failed


Через telnet к 25 порту также не коннектиться. Брандмауэр вообще вырублен.

В чём тут дело? Подскажите плиз, как исправить?
Автор: billybons2006
Дата сообщения: 17.11.2006 10:01
Хочу сделать локальный сервер почты на sendmail, чтобы он просто забирал почту с внешнего сервере и распихивал ее по лок. ящикам. Не могу понять, с чего начать? Пересмотрел кучу литературы, даже книжку купил по сендмайлу. Но везде описываются обычные почтовые сервера, которым надо записи MX и пр. у провов настраивать, а чтобы что-то простенькое вроде моей задачки - не видел. Подскажите, с чего начать?
Автор: arto
Дата сообщения: 17.11.2006 10:44
1. забирал с какого сервера? pop, imap, smtp+etrn?
2. в принципе, вам нужно что-то типа fetchmail, но я не уверен, поддерживает он etrn или нет.
Автор: billybons2006
Дата сообщения: 17.11.2006 10:54
Вопрос пофиксен насчет доставки писем: fetchmail
Осталось разобраться с локальными ящиками.

Добавлено:

Цитата:
arto

Спасибо за ответ! Я его не увидел сразу. Насчет etrn вообще не понял Но вот почту с mail.ru забирает на ура!
Автор: arto
Дата сообщения: 17.11.2006 11:28
rfc 1985
Автор: billybons2006
Дата сообщения: 17.11.2006 11:35
Поставил qpopper - все пашет. Возможно, есть более хорошие вещи? Меня несколько смущает то, что для qpopper офиц. страница находится по адресу: http://www.eudora.com/products/unsupported/qpopper/index.html на которой, к тому же, ничего нету. Получается, что продукт не поддерживается уже давно. Какие есть мнения людей, кто использует нечто подобное?
Автор: jstas
Дата сообщения: 19.12.2006 17:10
Что нужно прописать в Sendmail.cf для того что бы sendmail удалял из заголовков писем которые он передает поля:
X-MimeOLE:
X-Anti-Virus:
И анологичные раскрывающие внутреннию структуру сети.
Может макросы какие то есть для конфигурирования этих настроек.


Автор: arto
Дата сообщения: 19.12.2006 20:13
смотреть в сторону макросов H
Автор: jstas
Дата сообщения: 20.12.2006 00:00
arto
да это я понял. Но как сделать что б письмо с ненужным заголовком не отбрасывалось?
Просто нужно что б эти ненужные заголовки просто удалялись
Автор: arto
Дата сообщения: 20.12.2006 08:50
насколько я помню, обнуление заголовка удаляет его из конверта.
Автор: Delphi6
Дата сообщения: 15.01.2007 12:26
Здравствуйте,

Есть проблема с пониманием 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
Ответы были добавлены мной, дабы облегчить пользователю который будет искать ответ на часто задаваемый вопрос.
Автор: arto
Дата сообщения: 15.01.2007 12:40
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
Автор: billybons2006
Дата сообщения: 15.01.2007 12:40
Delphi6,

1) будет
2) не знаю точно
3) для доставки почты на свой локальный почтовый сервер sendmail использую fetchmail (забирает почту с внешних севреров и передает ее sendmail-у).
Автор: Delphi6
Дата сообщения: 15.01.2007 12:58
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)
Автор: arto
Дата сообщения: 15.01.2007 18:51
можно посмотреть в сторону etrn и virtualtable.
но надо договариваться с провайдером.
Автор: Delphi6
Дата сообщения: 15.01.2007 19:24
arto
Ок почитаю, а пока оказалось надо юзеров для каждого мыла добавлять Так что в этом не ошибся, sendmail так или иначе на получение писем настроил, сейчас надо добавить аутентификацию и fetchmail настроить
Автор: arto
Дата сообщения: 15.01.2007 22:01
не обязательно.
стоит посмотерть на virtusertable etc.
Автор: Delphi6
Дата сообщения: 15.01.2007 22:23
arto
virtusertable -> virtuser?
Там же можно сделать редирект определенного мыла (хоста) на определенное мыло (хост), и как это можно заюзать для данной проблемы?

Если вас не затруднит моте вы немного по подробней изложите свое предложение? Либо укажите ссылку на ту часть доки где можно про это прочитать (но желательно так что бы не пришлось читать 10 листов а полезного для дела только пару абзацев)
Автор: arto
Дата сообщения: 16.01.2007 00:51
less -p "(virtuser|generics)table" /usr/share/sendmail-cf/README
Автор: tolyn77
Дата сообщения: 16.01.2007 07:07
у меня в очереде более 300 сообщений судя по mailq давность их уже больше 4 дней можно как нибудь часть этих сообщей удалить?
Автор: arto
Дата сообщения: 16.01.2007 07:52
обы¨но sendmail сам их удаляет по истечению срока хранения.
попробуйте sendmail -q -v -- попробует протолкнуть очередь и покажет, на чем затыкается.
если обязательно хотите, то посмотрите, где у вас лежит очередь и rm ??QUEUEID
Автор: Delphi6
Дата сообщения: 17.01.2007 11:27
arto

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

Сори но я так и не понял как можно заюзать vrituser что бы создать кучу пользователей? Я то понимаю что там есть возможность виртуальное мыло редиректить на конкретного пользователя, но это не решает проблемы получения писем определенного пользователя через POP3 протокол, так как я автоматом буду качать все письма с почтовика на который все скидывается

Если я редиректну user1@test.ru и user2@test.ru на пользователя test_ru то как я потом через POP отсортирую где чие? и каждому пользователю выдам только его письма?
Автор: arto
Дата сообщения: 17.01.2007 13:08
не понятно, что вы подразумеваете под "кучей пользователей"?
давайте оперировать понятием "почтовый ящик".

для pop вы можете сохранять метаинформацию из envelope, например, через
дополнительные заголовки, и по ним фильтровать/разбирать почту.

либо через procmail, и ему передавать RCPT TO как переменную среды.
Автор: Delphi6
Дата сообщения: 17.01.2007 13:30
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-овой базе данного пользователя что бы он имел право отсылать письма, тоже пока не знаю как сделать.

Думаю теперь все понятно?

п.с. Почему так сложно настроить почтовый ящик?
Автор: arto
Дата сообщения: 17.01.2007 23:22
т.е. у вас есть виртуальный домен 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. учиться надо, и будет все просто
Автор: Delphi6
Дата сообщения: 18.01.2007 15:12
arto
Спасибо большое за ваш пост.

Разбирая dovecot я немного продвинулся и сообразил что вы имели в виду. Я должен создать файл типа passdb и userdb и как то его потом прикрутить к sendmail-у, ну типа указать ему что бы он брал пользователей и из этого файла, кроме системного /etc/passwd к примеру /etc/passwd.mailusers. Тем самым пользователи описанные в этом файле не будут иметь никакого отношения к системе. Но какие UID и GID им давать? Home директорию можно дать /tmp.

Если я все правильно понял то все будет работать. Для dovecot-а я уже создал такой файл, правда пароли у меня пока в plain формате, ибо не знаю как можно добавлять так что бы пароль шифровался и помещался кажется в shadow файл. Для этого должна быть команда.

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

Добавлено:
В доках замечал вот еще один интересный термин, что мол с помощью IMAP один пользователь может иметь больше чем один почтовый ящик. Я понимал почтовый ящик как файл с именем совпадавшим с именем пользователя и помещенном в директории /etc/mail/%u
Автор: Delphi6
Дата сообщения: 18.01.2007 17:37
Вот нашел как создаються виртуальные пользователи для 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
}
Автор: arto
Дата сообщения: 18.01.2007 18:51
с dovecot не работал
Автор: Delphi6
Дата сообщения: 18.01.2007 19:11
arto
А как на счет второй части вопроса? Я его потом добавил и вы наверно не заметили:

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

Большое спасибо за помощь

Кстати у меня после попытки скрестить sendmail + sasl он вообще не слушает 25 порт

п.с. немного офтопа: насколько грамотно написана дока для dovecot-а и насколько запутано и криво для sendmail. Неужели сложно было на сайте разместить доку и описание как использовать, с банальным примером самой простой конфигурации, что бы было от чего отталкиваться.
Автор: arto
Дата сообщения: 18.01.2007 20:06
используйте подходящий меилер, например procmail.

по sasl -- http://www.sendmail.org/~ca/email/auth.html не помогает?

ps. сендмайл поставляется с примерами конфигурации и отличной документацией

Страницы: 1234567891011

Предыдущая тема: Забыл пароли на Cisco ATA 186.


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.