Пытаюсь пройти аутентификацию на моем почтовом сервере (ubuntu 10.04), но у меня проблемы. У меня есть сервер с постфиксом для настройки smtp, сервер imap с настройкой курьера. Моя постфиксная аутентификация использует cyrus (я действительно не пробовал dovecot) saslauth. Имя пользователя и пароль хранятся в базе данных MySql. Вход с помощью imap-ssl работает на удаленном клиенте (thunderbird), и я могу читать свою почту. Я не могу заставить работать SMTP и сосредоточил проблему на saslauth.
Тестирование с
testsaslauthd -u 'username' -p 'passowrd' -s smtp
возвращается
connect() : Permission denied
пароль в базе данных зашифрован, и я предполагаю, что этот testsaslauthd возьмет простой текстовый пароль и зашифрует его.
Ищу кого-нибудь, кто поможет мне заставить это работать. Я новичок в почтовом сервере, и у меня никогда не было ни одного полностью работающего. Спасибо. Спросите меня, какие файлы журналов мне следует просмотреть / post, какие тесты запустить, разрешения для проверки.
Редактировать: (26.03.2012) для получения дополнительной информации я не могу заставить работать почтовый клиент, они выдают такие ошибки, как
The message could not be sent because connecting to SMTP server <mydomain.com> failed. The server may be unavailable or is refusing SMTP connections
У меня есть соответствующие порты, открытые на iptables, но я предполагаю, что это внутренняя проблема из-за теста, который я провел выше. Я также бегал telnet
к mail.mydomain.com 25
и беги ehlo localhost
и получить это взамен
250-mail.domain.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
РЕДАКТИРОВАТЬ: (28 марта 2012 г., 14:45)
~$ postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
inet_interfaces = all
inet_protocols = all
mailbox_size_limit = 0
mime_header_checks = regexp:/etc/postfix/mime_header_checks
mydestination = mail.mydomain.co, localhost, localhost.localdomain
myhostname = mail.mydomain.co
mynetworks = 127.0.0.0/8
myorigin = /etc/mailname
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
readme_directory = no
recipient_delimiter = +
relayhost =
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_tls_cert_file = /etc/ssl/certs/mailcert.pem
smtpd_tls_key_file = $smtpd_tls_cert_file
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-forwards.cf, mysql:/etc/postfix/mysql-email.cf
virtual_gid_maps = static:5000
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-mailboxes.cf
virtual_uid_maps = static:5000
РЕДАКТИРОВАТЬ: решено (29 марта 2012 г.) Спасибо @AveryPane и @ malloc4k за то, что они указали мне правильное направление. Мне нужно было сделать несколько вещей, чтобы убедиться, что мои записи MX находятся в надлежащем порядке. Я использовал инструмент intodns.com, а также http://www.mxtoolbox.com для проверки, принимает ли мой сервер соединения. Затем, используя tail -f, я просмотрел свои журналы на предмет каких-либо ошибок, был взволнован, увидев, что на самом деле что-то было зарегистрировано, как только я исправил свои записи DNS, и настроил некоторые файлы конфигурации.
Две вещи, о которых я не знал, одна из которых - некоторые интернет-провайдеры блокируют порт 25, что могло быть в моем случае, почему thunderbird не видел мой сервер на порту 25. Второй в файле /etc/postfix/master.cf
есть настройки о том, какие порты разрешить прослушивать postfix. Порт 25 по умолчанию - это строка
smtp inet n - - - - smtpd
который в основном говорит привет im postfix, я использую порт 25. Если вы хотите запустить postfix на другом порту, 587, популярном для почтовых серверов, добавьте эту строку рядом с ним в master.cf
587 inet n - - - - smtpd
запустить перезапуск /etc/init.d/postfix restart
и вы должны быть настроены. Это было для меня решением.
Ищу кого-нибудь, кто поможет мне заставить это работать. Я новичок в почтовом сервере, и у меня никогда не было ни одного полностью работающего.
Добро пожаловать в ад электронной почты, друг мой. Вы в хорошей компании. Во-первых, если вы действительно серьезно относитесь к работе с почтовым сервером, вам стоит изучить его. Электронная почта, как и большинство коммунальных услуг, воспринимается как должное, но никто не хочет думать о том, какие усилия нужно приложить, чтобы заставить ее работать. Я бы порекомендовал отличную (и, к счастью, краткую) книгу О'Рейли. Постфикс: полное руководство, который является отличным источником информации о запуске Postfix.
Я бы также потратил время на то, чтобы ознакомиться с некоторыми основными «правилами игры», поскольку большая часть глобальной системы электронной почты - это, по сути, набор джентльменских соглашений, чтобы не нарушать поставки друг друга. Конечно, вы могли бы пробираться сквозь толстые груды документов вроде RFC 2142 и другие, но я думаю, что мы можем свести это к нескольким простым правилам:
Есть намного больше, но эти базовые вещи должны указать вам правильное направление.
Я не могу заставить работать почтовый клиент,
Что касается части вашего вопроса «клиент не может отправить», проблема связана с доменами, для которых вы принимаете электронную почту. В частности, в вашем сообщении упоминается:
mydestination =
myhostname = my.domain.com
Оба они неверны. Смотреть Вот установить mydestination
параметр и Вот для myhostname
параметр. Эти два параметра в основном сообщают postfix, что он будет принимать для доставки, в зависимости от того, что находится в правой половине адреса электронной почты To :. Они ничего не установили и my.domain.com
означает, что он будет принимать только доставку на my.domain.com
но он все равно не доставит его, потому что mydestination
пусто. Я могу ошибаться, но я не думаю, что это то, чего вы хотели.
Проблема может быть в настройках Cyrus или в настройках PAM (возможно, Cyrus SASL использует PAM для связи с MySQL в ваших настройках).
Советую Вам две вещи:
Внимательно просмотрите соответствующий раздел в документации Postfix: SASL_README
Проверьте свои /var/log/auth.log