“Подходящие механизмы не найдены” при попытке переслать электронное письмо в Gmail с помощью Postfix

Вопрос или проблема

Я пытался настроить электронную почту для перенаправления на Gmail, используя Postfix для пересылки почты на smtp.gmail.com. Однако у меня не получается аутентифицироваться на smtp.gmail.com, что является довольно важным предпосылкой для успешной работы…

Журналы почты показывают только:

29 окт 15:50:14 gsnedders-1 postfix/master[6596]: демонтирован -- версия 2.7.1, конфигурация /etc/postfix
29 окт 15:50:19 gsnedders-1 postfix/pickup[6598]: EBA1F78750: uid=1000 от=<gsnedders>
29 окт 15:50:19 gsnedders-1 postfix/cleanup[6603]: EBA1F78750: message-id=<[email protected]>
29 окт 15:50:19 gsnedders-1 postfix/qmgr[6599]: EBA1F78750: от=<[email protected]>, размер=324, nrcpt=1 (очередь активна)
29 окт 15:50:19 gsnedders-1 postfix/cleanup[6603]: F2D557874F: message-id=<[email protected]>
29 окт 15:50:19 gsnedders-1 postfix/local[6605]: EBA1F78750: к=<[email protected]>, orig_to=<me>, relay=local, задержка=0.04, задержки=0.03/0.02/0/0, dsn=2.0.0, статус=отправлено (перенаправлено как F2D557874F)
29 окт 15:50:19 gsnedders-1 postfix/qmgr[6599]: F2D557874F: от=<[email protected]>, размер=454, nrcpt=1 (очередь активна)
29 окт 15:50:19 gsnedders-1 postfix/qmgr[6599]: EBA1F78750: удален
29 окт 15:50:20 gsnedders-1 postfix/smtp[6606]: предупреждение: Ошибка аутентификации SASL: Не найдены подходящие механизмы
29 окт 15:50:20 gsnedders-1 postfix/smtp[6606]: F2D557874F: Ошибка аутентификации SASL; не удалось аутентифицироваться на сервере smtp.gmail.com[74.125.157.108]: механизм отсутствует

А конфигурация postfix выглядит так:

relayhost = [smtp.gmail.com]:587

smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd
smtp_sasl_security_options = noanonymous

smtp_tls_eccert_file =
smtp_tls_eckey_file =
smtp_tls_security_level = may
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtpd_tls_received_header = yes
tls_random_source = dev:/dev/urandom
smtpd_tls_security_level = may

Ага! Установка пакета libsasl2-modules решила проблему.

Выполнение команды

sudo yum install cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain
sudo systemctl restart postfix

помогло мне на сервере Amazon AWS (и CentOS/RHEL 8).

Это сработало для проверки перенаправления Gmail (CentOS 7)

sudo yum install cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain

У меня возникла эта проблема (tail -f /var/log/mailog):

к=<[email protected]>, relay=smtp.sendgrid.net[169.45.113.201]:587, задержка=0.3, задержки=0.05/0.07/0.16/0.02, dsn=5.0.0, статус=отклонено (хост smtp.sendgrid.net[169.45.113.201] сказал: 550 Неаутентифицированные отправители не разрешены (в ответ на команду MAIL FROM))

Затем я изменил файл /etc/postfix/main.cf, добавив в конец файла следующие строки

mtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
mailbox_size_limit = 256000000

# Настройки Sendgrid
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:apikey:SG.YOUR_SENDGRID_KEY
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = may
header_size_limit = 4096000
relayhost = [smtp.sendgrid.net]:587

Затем я установил недостающие модули зависимостей postfix с помощью:

sudo yum install cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain

Затем перезапустил postfix

sudo systemctl restart postfix.service

В конце концов, все заработало на CentOS 7

Настройка следующей переменной окружения помогла мне:

SASL_PATH=/usr/lib/x86_64-linux-gnu/sasl2

(это для Ubuntu).

Ответ или решение

Если вы сталкиваетесь с ошибкой "No worthy mechs found" при попытке настроить Postfix для пересылки электронной почты через Gmail, это указывает на проблемы с аутентификацией SASL. Ниже приведены шаги для решения данной проблемы:

1. Установите необходимые пакеты

Убедитесь, что у вас установлены необходимые пакеты для работы с аутентификацией SASL. На системах, основанных на CentOS или RHEL, выполните следующую команду:

sudo yum install cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain

Для Ubuntu или Debian используйте:

sudo apt-get install libsasl2-modules

2. Настройте конфигурацию Postfix

Отредактируйте файл конфигурации вашего Postfix, который обычно находится по пути /etc/postfix/main.cf. Проверьте, что у вас есть следующие строки, присутствующие и правильно настроенные:

relayhost = [smtp.gmail.com]:587

smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = may
smtp_tls_CAfile = /etc/postfix/cacert.pem

3. Создайте файл паролей для SASL

Создайте файл /etc/postfix/sasl/passwd и добавьте в него учетные данные для Gmail в следующем формате:

[smtp.gmail.com]:587    username@gmail.com:yourpassword

Замените username@gmail.com и yourpassword на свои актуальные параметры. После этого выполните команду для создания хешированного файла:

sudo postmap /etc/postfix/sasl/passwd

4. Права и доступ к файлам

Убедитесь, что файл паролей и директория /etc/postfix/sasl имеют правильные права доступа:

sudo chmod 600 /etc/postfix/sasl/passwd
sudo chown root:root /etc/postfix/sasl/passwd

5. Перезапустите Postfix

После внесения всех изменений перезапустите службу Postfix:

sudo systemctl restart postfix

6. Дополнительные настройки для Ubuntu

Если вы используете Ubuntu, иногда требуется установить переменную окружения, чтобы указать правильный путь для SASL. Это можно сделать добавлением следующей строки в ваш файл /etc/environment:

SASL_PATH=/usr/lib/x86_64-linux-gnu/sasl2

После этого выполните:

source /etc/environment

7. Проверка и отладка

Теперь проверьте журналы Postfix на наличие ошибок:

tail -f /var/log/mail.log

Если вы все еще получаете ошибки, убедитесь, что ваши учетные данные верны, и что у вас включена поддержка "менее безопасных приложений" в настройках безопасности вашей учетной записи Gmail. Также следует проверить, не блокирует ли файрволлинг ваш сервер.

Следуя этим шагам, вы должны успешно устранить ошибку "No worthy mechs found" и настроить Postfix для пересылки электронной почты через Gmail.

Оцените материал
Добавить комментарий

Капча загружается...