Настраиваемая почтовая система обладает возможностями по администрированию доменов и почтовых ящиков через веб-интерфейс PostfixAdmin, в качестве основного домена в статье фигурирует домен stupin.homelinux.org, все учётные записи при этом хранятся в базе данных MySQL. Имеется почтовый клиент с веб-интерфейсом SquirrelMail, фильтрация спама средствами PostGrey, фильтрация вирусов средствами ClamSMTPd, отметка подозрительных писем с помощью SpamPd и SpamAssassin.
Не смотря на то, что настройка почтовой системы рассмотрена довольно подробно, данная статья конечно же не претендует на полноту. За кадром остаётся настройка защищённого подключения к веб-серверу, тонкая настройка фильтрации почты с помощью SpamAssassin, Postfix и PostGrey, повышение безопасности почтовой системы посредством запуска отдельных подсистем от имени непривилегированных пользователей и т.п. Статью можно использовать в качестве опорной для построения более развитой почтовой системы.
Настройка Lighttpd
Первым делом устанавливаем веб-сервер lighttpd, php.
# aptitude install lighttpd php5-cgi php5-jsonВключаем модуль fastcgi веб-сервера lighttpd:
# lighty-enable-mod fastcgiЗаменяем в конфигурации модуля /etc/lighttpd/conf-enabled/10-fastcgi.conf интерпретатор PHP4 на PHP5:
fastcgi.server = ( ".php" => ( ( "bin-path" => "/usr/bin/php5-cgi", "socket" => "/tmp/php.socket", "max-procs" => 2, "idle-timeout" => 20, "bin-environment" => ( "PHP_FCGI_CHILDREN" => "4", "PHP_FCGI_MAX_REQUESTS" => "10000" ), "bin-copy-environment" => ( "PATH", "SHELL", "USER" ), "broken-scriptfilename" => "enable", "check-local" => "disable" ) ) )Перезапускаем веб-сервер:
# /etc/init.d/lighttpd restartНастройка PostfixAdmin
Качаем последнюю стабильную версию PostfixAdmin со страницы http://sourceforge.net/projects/postfixadmin/files/. Для Debian существует готовый пакет postfixadmin_2.2.1.1_all.deb, его и скачаем:
$ wget "http://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-2.2.1.1/postfixadmin_2.2.1.1_all.deb?use_mirror=sunet"Установим пакет в систему:
# dpkg -i postfixadmin_2.2.1.1_all.debПакет устанавливает все файлы проекта в каталог /usr/share/postfixadmin, файлы документации - в каталог /usr/share/doc/postfixadmin. Также создаются файлы с настройками самого PostfixAdmin - /etc/postfixadmin/config.inc.php и настройками Apache 2 - /etc/apache2/conf.d/postfixadmin.
Поскольку я собираюсь пользоваться PostfixAdmin на web-сервере Lighttpd, заглянем в файл /etc/apache2/conf.d/postfixadmin:
Alias /postfixadmin /usr/share/postfixadminИ создадим на его основе настройки для Lighttpd - в файл /etc/lighttpd/lighttpd.conf нужно будет добавить строчки:
alias.url += ( "/postfixadmin" => "/usr/share/postfixadmin", )Дополнительно, защитим каталог на web-сервере от случайных зевак:
auth.backend = "htdigest" auth.backend.htdigest.userfile = "/etc/lighttpd/htdigest" auth.require = ( "/posfixadmin" => ( "method" => "digest", "realm" => "PostfixAdmin", "require" => "user=morbo" ) )И с помощью утилиты htdigest из пакета apache2-utils задаём пароль для пользователя morbo и рилма PostfixAdmin:
$ htdigest /etc/lighttpd/htdigest "PostfixAdmin" morboНастроим Postfix Admin в соответствии с вашей спецификой (например, зададим подходящий пароль к базе данных, настроим домен по умолчанию и т.п.)
Отредактируем файл /usr/share/postfixadmin/config.inc.php и укажем следующее:
# vi config.inc.php [...] $CONF['configured'] = true; $CONF['postfix_admin_url'] = 'http://stupin.homelinux.org/postfixadmin'; $CONF['database_type'] = 'mysql'; $CONF['database_host'] = 'localhost'; $CONF['database_user'] = 'postfixadmin'; $CONF['database_password'] = 'SecretPassword!'; $CONF['database_name'] = 'postfix'; $CONF['domain_path'] = 'YES'; $CONF['domain_in_mailbox'] = 'NO'; $CONF['encrypt'] = 'cleartext';Просмотрите остаток файла, если вам захочется сделать более тонкие настройки.
Вы можете быстро заменить домен по умолчанию на ваш собственный:
$ replace "change-this-to-your.domain.tld" "stupin.homelinux.org" - /usr/share/postfixadmin/config.inc.phpСоздайте базу данных и пользователя в mysql:
$ mysql -u root -p mysql> create database postfix; mysql> grant all privileges on postfix.* to 'postfixadmin'@'localhost' identified by 'SecretPassword!'; mysql> flush privileges; mysql> qОткройте браузер и перейдите по ссылке http://stupin.homelinux.org/postfix/setup.php или http://ваш-IP/postfixadmin/. Будет предложено запустить процесс настройки. Удостоверьтесь, что все проверки установщика сообщают 'OK'.
Рекомендуется удалить setup.php.
Теперь перейдите по ссылке http://stupin.homelinux.org/postfixadmin/admin. Вы должны получить приглашение. Войдите с использованием почтового ящика администратора, заведённого ранее на странице настройки. Отсюда вы можете добавлять домены, почтовые ящики и т.п. Но Postfix этого не увидит. Нам нужно установить Postfix и настроить его.
Настройка Postfix
Установим Postfix и SASL2 с поддержкой MySQL:
# aptitude install postfix-mysql postfix-tls libsasl2-modules-sql libsasl2-modulesДобавим в файл /etc/postfix/main.cf следующие строки:
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf virtual_gid_maps = static:106 virtual_mailbox_base = /var/spool/mail/virtual virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf virtual_minimum_uid = 106 virtual_transport = virtual virtual_uid_maps = static:106 broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $myhostname smtpd_sasl_security_options = noanonymousЗАМЕЧАНИЕ: UID и GID равные 106 на вашей системе могут быть другими. Посмотрите на UID и GID пользователя postfix (или vmail) в файле /etc/passwd и укажите их. Например, на моём сервере:
# grep postfix /etc/passwd postfix:x:102:105::/var/spool/postfix:/bin/false --> uid: 102; gid: 105Создайте файл /etc/postfix/mysql_virtual_alias_maps.cf:
user = postfix password = SecretPassword! hosts = 127.0.0.1 dbname = postfix table = alias select_field = goto where_field = addressФайл mysql_virtual_domains_maps.cf:
user = postfix password = SecretPassword! hosts = 127.0.0.1 dbname = postfix table = domain select_field = domain where_field = domain additional_conditions = and backupmx = '0' and active = '1'Файл mysql_virtual_mailbox_maps.cf:
user = postfix password = SecretPassword! hosts = 127.0.0.1 dbname = postfix table = mailbox select_field = maildir where_field = usernameЕсли вы хотите разрешить ретрансляцию почты через ваш сервер после SMTP AUTH, пропишите в файле /etc/postfix/sasl/smtpd.conf следующие настройки:
pwcheck_method: auxprop mech_list: PLAIN LOGIN auxprop_plugin: sql sql_verbose: yes sql_engine: mysql sql_hostnames: 127.0.0.1 sql_user: postfix sql_passwd: SecretPassword! sql_database: postfix sql_select: select password from mailbox where username = '%u@%r'Создайте структуру каталогов, включая каталог для первого домена. Вы так же можете войти в PostfixAdmin и создать учётную запись 'test' для домена stupin.homelinux.org.
# mkdir -p /var/spool/mail/virtual/stupin.homelinux.org/test # chmod -R 770 /var/spool/mail/virtual # chown -R postfix:postfix /var/spool/mail/virtualНастройка Dovecot
Установим Dovecot с поддержкой MySQL:
# aptitude install dovecot-common dovecot-imapd dovecot-pop3dОтредактируем файл /etc/dovecot/dovecot-mysql.conf с настройками Dovecot/MySQL, воспользовавшись следующими опциями:
driver = mysql connect = dbname=postfix user=postfixadmin host=127.0.0.1 password=SecretPassword! default_pass_scheme = PLAIN password_query = SELECT password FROM mailbox WHERE username = '%u' user_query = SELECT maildir, 106 AS uid, 106 AS gid FROM mailbox WHERE username = '%u'Теперь настроим Dovecot на использование MySQL, задав следующие опции в файле /etc/dovecot/dovecot.conf:
protocols = imap imaps pop3 pop3s disable_plaintext_auth = no log_timestamp = "%Y-%m-%d %H:%M:%S " mail_location = maildir:/var/spool/mail/virtual/%d/%n mail_access_groups = mail first_valid_uid = 106 first_valid_gid = 106 protocol imap { } protocol pop3 { pop3_uidl_format = %08Xu%08Xv } auth default { mechanisms = digest-md5 plain passdb sql { args = /etc/dovecot/dovecot-mysql.conf } userdb sql { args = /etc/dovecot/dovecot-mysql.conf } user = root }Перезапустим Dovecot и Postfix и проверим их.
По завершении вы должны получить возможность добавлять новые домены, почтовые ящики, псевдонимы с помощью PostfixAdmin и получить правильно работающую систему, включая SMTP-аутентификацию. Отметим, что для работы SMTP-аутентификации saslauthd не требуется.
Настройка SquirrelMail
Устанавливаем пакет squirrelmail:
# aptitude install squirrelmailВ файл /etc/lighttpd/lighttpd.conf нужно будет добавить строчки:
alias.url += ( "/mail" => "/usr/share/squirrelmail" )Настройку SquirrelMail можно осуществить с помощью ncurses-утилиты squirrelmail-configure.
Настройка плагина SquirrelMail PosfixAdmin
Для того, чтобы пользователи имели возможность самостоятельно менять свои пароли, можно установить расширение postfixadmin для squirrelmail. Адрес проекта http://squirrelmail-postfixadmin.palepurple.co.uk/
Чтобы скачать исходники проекта, необходимо поставить утилиты subversion:
# aptitude install subversionСоздадим каталог для скачиваемых из svn исходников плагина, скачаем исходники, скопируем необходимое нам, а лишнее удалим:
$ mkdir ~/squirrelmail-postfixadmin $ cd ~/squirrelmail-postfixadmin $ svn co -r 35 http://squirrelmail-postfixadmin.palepurple.co.uk/svn $ mkdir ~/squirrelmail $ cp ~/squirrelmail-postfixadmin/svn/tags/squirrelmail-postfixadmin-0.4.3/* ~/postfixadmin/ $ rm -R ~/squirrelmail-postfixadminПочистим исходники плагина от служебных файлов subversion:
$ find ~/postfixadmin/ -name .svn -type d -exec rm -R \{\} \;Установим плагин в каталог squirrelmail:
# cp ~/postfixadmin /usr/share/squirrelmail/plugins/Тонкая настройка Postfix
Во-первых, я задаю имя, которое будет использовать Postfix при отправке почты на другие почтовые серверы (в команде HELO или EHLO) или при приёме почты на 25 порту в приглашении (например, «220 stupin.homelinux.org ESMTP Postfix»):
myhostname = stupin.homelinux.org myorigin = $myhostnameВо-вторых, укажем сети, имеющие право отправки почты без прохождения авторизации:
mynetworks = 10.16.7.0/24, 127.0.0.1Далее, мой провайдер поместил все клиентские сети в список динамических IP, так называемый DUL. Из-за этого подавляющее большинство почтовых серверов отказываются принимать от меня почту. Чтобы отправка почты всё-таки работала, мой провайдер позволяет отправлять почту через его почтовый сервер mail.ufanet.ru:
relayhost = [mail.ufanet.ru]И, наконец, я хочу чтобы Postfix не пытался складывать локальную почту в локальные же файлы mailbox. Вместо этого, он должен обрабатывать такую почту, как и всю остальную, то есть передавать её dovecot'у. Для этого пропишем следующую опцию:
local_transport = virtualНастройка PostGrey
Установим postgrey:
# aptitude install postgrey
Поменять настройки можно в файле /etc/default/postgrey. Я добавил одну дополнительную опцию, которая помещает отправителя в белый список после 5 удачно пройденных тестов:
POSTGREY_OPTS="--inet=127.0.0.1:60000 --auto-whitelist-clients=5"Настраиваем postfix на использование сервера политик postgrey. В файле /etc/postfix/main.cf к опции smtpd_recipient_restrictions в конец списка добавляем «check_policy_service inet:127.0.0.1:60000». После этого опция smtpd_recipient_restrictions в моей системе приняла следующий вид:
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname, check_policy_service inet:127.0.0.1:60000Теперь, чтобы настройки вступили в силу, можно перезапустить postgrey и postfix:
# /etc/init.d/postgrey restart # /etc/init.d/postfix reloadНастройка ClamSMTPD
Устанавливаем clamsmtpd (если на сервере установлен стабильный релиз Debian, то лучше подключить дополнительный репозиторий volatile, в который помещаются обновления антивирусных баз данных и систем фильтрации спама):
# aptitude install clamsmtpdОбновляем антивирусные базы:
# freshclam -vНастраиваем порты демона в файле /etc/clamsmtpd.conf (я изменил их следующим образом):
OutAddress: 10026 Listen: 127.0.0.1:10025Настраиваем postfix на передачу файла в clamsmtp. Во-первых добавим в файле /etc/postfix/main.cf следующие опции:
content_filter = scan:127.0.0.1:10025 receive_override_options = no_address_mappingsВо-вторых, в файл /etc/postfix/master.cf добавляем следующее:
scan unix - - n - 16 smtp -o smtp_send_xforward_command=yes 127.0.0.1:10026 inet n - n - 16 smtpd -o content_filter= -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks -o smtpd_helo_restrictions= -o smtpd_client_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks_style=host -o smtpd_authorized_xforward_hosts=127.0.0.0/8Перезапускаем clamsmtpd и postfix:
# /etc/init.d/clamsmtp restart # /etc/init.d/postfix restartНастройка SpamPd
Устанавливаем spampd:
# aptitude install spampdНастраиваем spampd, в файле /etc/default/spampd меняем следующие опции:
LISTENPORT=10026 DESTPORT=10027Также необходимо поменять настройки входного порта postfix, на котором письмо принимается без дополнительных проверок. В файле /etc/postfix/master.cf меняем строку
127.0.0.1:10026 inet n - n - 16 smtpdна строку
127.0.0.1:10027 inet n - n - 16 smtpdДля вступления настроек в силу перезапускаем postfix и spampd:
# /etc/init.d/postfix restart # /etc/init.d/spampd restartПояснение принципов фильтрации писем
Теперь clamsmtpd и spampd работают последовательно. Postfix получая новое письмо на порт 25, передаёт письмо на проверку на порт 10025, где его принимает clamsmtpd. Далее, проверив письмо, clamsmtpd передаёт письмо на порт 10026, где его принимает spampd. Далее, после проверки, spampd возвращает письмо Posfix'у на порт 10027. Postfix, получив письмо на порт 10027, принимает его без дополнительных проверок.
clamsmtpd работает в связке с clamav-daemon, последовательно передавая ему на проверку все секции и вложения письма.
spampd тоже работает в связке с демоном spamassassin, передавая ему на проверку письмо целиком. Важно, что в данном примере настройки, не происходит автоматическое удаление писем, похожих на спам. Вместо этого в начало темы подозрительного письма добавляется текст «*****SPAM***** », а в заголовок письма помещаются метки SpamAssassin, свидетельствующие о количестве набранных спам-баллов и описанием каждого признака спама. Для удаления подозрительных писем необходимо воспользоваться дополнительными компонентами почтовой системы.
Ссылки
- Настройка веб-интерфейса Clutch - взята часть про настройку Lighttpd и PHP. Не пропадать же однажды уже написанному добру?!
- Squirrelmail - PostfixAdmin plugin
Перевод этой и следующих двух статей я сделал отчасти для того, чтобы потом по ней написать этот мануал:
- PostfixAdmin на Debian
- ClamAV + clamsmtpd + Postfix
- Postfix и Postgrey: Проактивный способ фильтрации спама
31 комментарий:
спасибо, очень кстати :)
Будешь настраивать - обращайся, т.к. в статье есть некоторые недоработки. Помню, что были какие-то проблемы при настройке PostfixAdmin (нужно было установить дополнительный модуль для php и что-то ещё сделать). Писал в основном по памяти и по статьям, на которые ссылаюсь.
Спасибо еще раз.
Маленькие оЧеПятки это ерунда :)
Когда буду настраивать, если столкнусь, то сообщу где да что :)
Спасибо, статья очень помогла.
Наткнулся только на один момент, у меня не проходит авторизация пользователей, заданных через PostfixAdmin.
Задал пароль для юзера ручками с шифрованием по MD5 - заработало (ну и в запросе для довекот поменял PLAIN на PLAIN-MD5).
Пошел вкуривать, почему для PLAIN-авторизации не прокатывает заданный через postfixadmin пароль.
Я сейчас не помню, но по-моему, нужно настроить хранение паролей в зашифрованном виде в самом PostfixAdmin.
Заработало.
Сделал вот что:
postfixadmin: config.inc.php
выставил
$CONF['authlib_default_flavor'] = 'md5';
dovecot: dovecot-mysql.conf
default_pass_scheme = PLAIN-MD5
В базе пароли шифруются по методу MD5
И как заставить отправлять почту? Прием почты заработал после вдумчивого исправления опечаток. А вот с отправкой затык. И в логах поствикса и довекота тишина!
Если принимается, но не отправляется - значит с настройками Dovecot всё в порядке, а проблема с Postfix. Для начала советую отключить проверку почты на вирусы и спам и посмотреть, что будет писать Postfix в своём журнале /var/log/mail.log
Спасибо за скорый ответ! Я ничего кроме постфикса и довекота не поднимал. Выше я писал, что логи пустые ( tail -f /var/log/dovecot tail -f /var/log/mail.err) Ubuntu 8.04
спасибо, статья хорошая
но также исправил на md5, как и в предыдущих комментах
один затык - почта нормально отправляется, если почтовый клиент нахоодится в доверенной сети
если нет, если стоит в настройках авторизация SMTP - постоянно запрашивается пароль
насколько я понимаю, клиент отправляет пароль, а postfix его не принимает
но вот почему?..
добрый день
настроил по этой статье
все работает
почти..
почта нормально отправляется из внутренней (доверенной) сети
если откуда то еще - проблемы
в почтовом клиенте ставим использовать smtp авторизацию
после этого клиент запрашивает пароль
ввод пароля ничего не дает..
Швед, проверьте, может ли Postfix обращаться к MySQL с указанным именем и паролем доступа к базе данных. Проверьте, везде ли прописаны в конфигурации Postfix правильные SQL-запросы. В конце концов, настроенный в клиенте способ аутентификации может не поддерживаться сервером, попробуйте в настройках клиента указать другой способ.
а как проверить, может ли Postfix обращаться к базе с указанными данными?
сам же пользователь (у меня postfixadmin) проходит проверку при обращении к базе (у меня postfix)
запросы прописан, пути правильные
клиенты разные, outlook, thunderbird..
в логе mail.warn следующее
warning: SASL LOGIN authentication failed: authentication failure
Швед, попробуйте сделать так, как сделал Николай, отписавшийся в комментариях выше вас. Я конфигурацию с шифрованием при написании статьи не пробовал, а экспериментировать сейчас не на чем.
да я так и сделал
проблема, мне кажется, в /etc/postfix/sasl/smtpd.conf
там стоит использовать PLAIN LOGIN
а надо MD5, насколько я понимаю, раз уж у меня пароли хранятся таким образом
но чтобы не ставил, не хочет
кто может подсказать, что надо указать в mech_list ?
Может быть, как и в Dovecot указать PLAIN-MD5?
не, не катит
"postfix/smtpd[20245]: warning: xsasl_cyrus_server_get_mechanism_list: no applicable SASL mechanisms
postfix/smtpd[20245]: fatal: no SASL authentication mechanisms
"
Каких только вариантов не пробовал:
#mech_list: PLAIN LOGIN
#mech_list: CRAM-MD5
#mech_list: DIGEST-MD5 PLAIN
#mech_list: PLAIN LOGIN CDRAM-MD5 DIGEST-MD5
mech_list: PLAIN LOGIN CRAM-MD5
насколько я понимаю, настроенный по этой статье сервер планируется использовать только внутри локальной сети? т.е. доступ к нему извне для отправки писем не планировался?
проверил - если через phpmyadmin напрямую поменять пароль у пользователя без использования Md5, то при отправке сообщения и при включенной в клиент smtp авторизации, письмо нормально уходит
это говорит о том, что postfix в данном случае использует совсем не md5.
я наверное, надоел, но похоже на то, что Sasl 2.x не умеет работать с хешироваными паролями
вроде как есть патч на это дело
по крайней мере, здесь об этом пишут
http://www.opennet.ru/openforum/vsluhforumID1/65009.html
http://www.opennet.ru/openforum/vsluhforumID1/80788.html
http://www.opennet.ru/openforum/vsluhforumID1/55675.html
в общем, настроил авторизацию через dovecot-sasl
опять же и промежуточных звеньев меньше )
Не поделитесь рецептом?
Я так понимаю, вот таким образом: http://wiki.dovecot.org/HowTo/PostfixAndDovecotSASL ?
именно =)
правда руководствовался http://rubuntu.ru/blog/471/ustanovka-pochtovogo-servera-postfix-dovecot-mysql-i-virtualnyh-domenov.html
надо еще в master.cf добавлять dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}
причем вторая строчка должна начинаться с двух пробелов, что не сразу бросается в глаза, если просто копипастишь, и не знаком с синтаксисом master.cf =)
вот тут ещё одно решение smtp аутентификации http://www.opennet.ru/openforum/vsluhforumID1/88772.html
Если у вас будет минутка, можете помочь с настройкой, Я все делал по вашей статье только хранилище почты изменил
virtual_mailbox_base = /var/mail
mail_location = /var/mail/%d/%n
в логах ошибка:
imap dovecot: IMAP(zotoz@imap.XXX.ru): mail_location: Ambiguous mail location setting, don't know what to do with it: /var/mail/imap.XXX.ru/zotoz (try prefixing it with mbox: or maildir:)
У dovecot должно быть вот так:
mail_location = maildir:/var/mail/%d/%n
ПОдскажите, сижу за железным фаерволом в домене(Вин).
Почта внутри ходит отлично. А вот наружу пишет в логах:
Dec 28 13:24:28 mail-server postfix/smtp[2504]: E7EC61FC3DB: to=<*@gala.net>, relay=none, delay=70310, delays=70205/0.02/105/0, dsn=4.4.1, status=deferred (connect to aspmx5.googlemail.com[74.125.157.27]:25: Connection timed out)
Dec 28 13:24:28 mail-server postfix/smtp[2505]: connect to aspmx3.googlemail.com[74.125.127.27]:25: Connection timed out
* - заменил реальный адрес
Это я не правильно настроил что-то? Или железка не пускает?!
Причем инет(на этой машине) работает нормально.
Во-первых, на железке нужно открыть помимо 80 TCP-порта наружу ещё и 25 порт. Во-вторых, на железке нужно настроить проброс трафика с 25 TCP-порт железки с интернет-интерфейса в локальную сеть на 25 порт вашего почтового сервера. В-третьих, нужно указать postfix'у на то, что он расположен за NAT-ом. Для этого в main.cf нужно указать опцию proxy_interfaces = 1.2.3.4, где 1.2.3.4 - это интернет-адрес вашей железки. У железки всегда должен быть именно этот адрес, нужно договориться с провайдером о статическом IP-адресе, если до этого он выдавался динамически. В-четвёртых, нужно приобрести домен DNS и настроить MX и A-записи так, чтобы они указывали на IP-адрес вашей железки. В-пятых, большинство почтовых серверов отклоняют письма от тех IP-адресов, для которых не прописана в DNS правильная PTR-запись. Нужно договориться с провайдером, чтобы они настроили PTR-запись вашего IP-адреса на одно из DNS-имён, почту которого обрабатывает ваш почтовый сервер. Вкратце так.
Подскажите пожалуста, как открыть 25 порт.
Постификс не может отправить письмо, в логах:
status=defferd ( connect to 127.0.0.1[127.0.0.1]:10025: Connection refused
пытаюсь подцепиться телнетом тоже ничего не выходит
Судя по ошибке, постфикс не может отправить письмо на локальный адрес и порт 10025. Если вы настраивали по этой статье, то значит у вас не запущен ClamSMTP.
Создаются две директории для почтовых ящиков.
В postfix так
ee /usr/local/etc/postfix/main.cf
virtual_mailbox_base = /var/vmail
mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_maps.cf
ee /usr/local/etc/postfix/mysql_virtual_mailbox_maps.cf
user = postfix
password = 123456
hosts = 127.0.0.1
dbname = postfix
table = mailbox
select_field = maildir
where_field = username
В dovecot так
mail_location = maildir:/var/vmail/%Ld/%Ln
В /var/vmail создаются две директории
/var/vmail/domain_name/user_name - наверное создал dovecot
/var/vmail/user_name@domain_name - наверное создал postfix
Как сделать так, чтобы почта была в одной директории
/var/vmail/domain_name/user_name
Спасибо.
Отправить комментарий