Я потратил последние несколько дней, пытаясь настроить Postfix с SASLDB для отправки электронных писем из моего приложения через SMTP на Ubuntu Server 15.04. Я много искал, читал и тестировал, но не могу заставить его работать. Postfix и почтовые серверы для меня впервые, поэтому я надеюсь, что кто-нибудь сможет мне помочь.
Получил чистую установку Ubuntu Server 15.04 x64.
Запустите этот сценарий, чтобы установить и настроить Postfix, SASL AUTH: https://gist.github.com/richarddong/2634350
Исправьте SASLAUTHD для работы с chrooted Postfix следующим образом (3. и 4. абзацы): https://github.com/webmin/webmin/issues/58#issuecomment-22985720
Исправить connect (): нет такого файла или каталога ошибка тесты команда.
Я создал пользователя с saslpasswd2 -c -u example.com username
.
Проверено успешно с sasldblistusers2
, затем протестировал его с помощью:
testsaslauthd -u username@example.com -p password
testsaslauthd -u username -p password -r example.com
testsaslauthd -u username@example.com -p password -s smtp
testsaslauthd -u username -p password -r example.com -s smtp
testsaslauthd -u username -p password
Но все они вернулись с: 0: НЕТ "ошибка аутентификации".
Он принял только корень пользователь и пароль, например testsaslauthd -u root -p password
.
Я проверил конфигурацию и обнаружил, что он не использует SASLDB, поэтому следил за этим: https://serverfault.com/a/547851/317421
После настройки SASL и Postfix результаты были такими же, как я писал выше.
Я попробовал root-пользователя с telnet localhost 25
, подключен, затем AUTH PLAIN base64string
, где base64string генерируется:
perl -MMIME::Base64 -e 'print encode_base64("\000root\000password");'
Но вернулся с 535 5.7.8 Error: authentication failed: generic failure
.
Конечно, между этими шагами я перезапустил Postfix и SASLAUTHD.
Я тоже попытался перезагрузить систему, но ничего не изменилось.
Было бы здорово, если бы кто-нибудь был так добр и помог мне настроить это или получил сценарий для этого!
Если у кого-то возникла такая же ошибка, это, возможно, избавит вас от часов поиска.
Чтобы использовать sasldb, вам необходимо изменить MECHANISMS="pam"
линия к MECHANISMS="sasldb"
в файле /etc/default/saslauthd
, вот что я пропустил.
Затем перезапустите saslauthd и постфикс, и он будет работать с конфигурацией выше.