Назад | Перейти на главную страницу

Настройте Postfix с SMTP-AUTH через SASL2 с SASLDB, чтобы пользователи могли отправлять электронные письма

Привет,

Я потратил последние несколько дней, пытаясь настроить Postfix с SASLDB для отправки электронных писем из моего приложения через SMTP на Ubuntu Server 15.04. Я много искал, читал и тестировал, но не могу заставить его работать. Postfix и почтовые серверы для меня впервые, поэтому я надеюсь, что кто-нибудь сможет мне помочь.

Последнее, что я пробовал, это следующее:

  1. Получил чистую установку Ubuntu Server 15.04 x64.

  2. Запустите этот сценарий, чтобы установить и настроить Postfix, SASL AUTH: https://gist.github.com/richarddong/2634350

  3. Исправьте SASLAUTHD для работы с chrooted Postfix следующим образом (3. и 4. абзацы): https://github.com/webmin/webmin/issues/58#issuecomment-22985720

    Исправить connect (): нет такого файла или каталога ошибка тесты команда.

  4. Я создал пользователя с 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.

  5. Я проверил конфигурацию и обнаружил, что он не использует 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 и постфикс, и он будет работать с конфигурацией выше.