Не удается отправить электронное сообщение с помощью mailx (не удалось получить сертификат RSA из файла / имя домена не найдено)

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

Я пытался отправить электронное сообщение в качестве теста, используя mailx. Почтовый сервер находится на сервере Linux, на котором установлены и настроены dovecot и postfix.

Я выполнил инструкцию следующим образом на том же почтовом сервере:

echo "тест электронной почты" | mailx -v -s "тест электронной почты" \
-S smtp-use-starttls \
-S ssl-verify=ignore \
-S smtp-auth=login \
-S smtp=smtp://192.168.1.10:587 \
-S from="[email protected]" \
-S [email protected] \
-S smtp-auth-password=the_password \
-S ssl-verify=ignore \
-S nss-config-dir="/etc/pki/nssdb/" \
[email protected]

Проверив файл /var/log/maillog. Он показывает сообщения следующим образом:

Sep 24 10:47:11 serverMail postfix/submission/smtpd[41666]: предупреждение: не удается получить RSA сертификат из файла "/etc/pki/dovecot/certs/dovecot.pem": отключение поддержки TLS
Sep 24 10:47:11 serverMail postfix/submission/smtpd[41666]: предупреждение: проблема с библиотекой TLS: ошибка:0200100D:системная библиотека:fopen:Отказано в доступе:crypto/bio/bss_file.c:288:fopen('/etc/pki/dovecot/certs/dovecot.pem','r'):
Sep 24 10:47:11 serverMail postfix/submission/smtpd[41666]: предупреждение: проблема с библиотекой TLS: ошибка:20074002:BIO routines:file_ctrl:системная библиотека:crypto/bio/bss_file.c:290:
Sep 24 10:47:11 serverMail postfix/submission/smtpd[41666]: предупреждение: проблема с библиотекой TLS: ошибка:140DC002:SSL routines:use_certificate_chain_file:системная библиотека:ssl/ssl_rsa.c:596:
Sep 24 10:47:11 serverMail postfix/submission/smtpd[41666]: соединение от localhost[127.0.0.1]
Sep 24 10:47:11 serverMail postfix/submission/smtpd[41666]: потеряно соединение после STARTTLS от localhost[127.0.0.1]
Sep 24 10:47:11 serverMail postfix/cleanup[41669]: 18DAF200E2C92: идентификатор сообщения=<[email protected]>
Sep 24 10:47:11 serverMail postfix/submission/smtpd[41666]: отключено соединение от localhost[127.0.0.1] ehlo=1 starttls=0/1 команды=1/2
Sep 24 10:47:11 serverMail postfix/qmgr[20615]: 18DAF200E2C92: from=<[email protected]>, size=914, nrcpt=1 (очередь активна)
Sep 24 10:47:11 serverMail postfix/smtp[41674]: 18DAF200E2C92: to=<[email protected]>, orig_to=<postmaster>, relay=none, delay=0.05, delays=0.04/0.02/0/0, dsn=5.4.4, status=bounced (Имя хоста или домена не найдено. Ошибка службы имен для имени=domain.com тип=AAAA: Хост не найден)
Sep 24 10:47:11 serverMail postfix/bounce[41675]: предупреждение: 18DAF200E2C92: уведомление о недоставленном почтмейстере отклонено
Sep 24 10:47:11 serverMail postfix/qmgr[20615]: 18DAF200E2C92: удалено

Я вижу две вещи.

Во-первых, я получаю сообщение о том, что не удается получить
‘RSA сертификат из файла “/etc/pki/dovecot/certs/dovecot.pem”‘
и
‘Отказано в доступе:crypto/bio/bss_file.c:288:fopen(‘/etc/pki/dovecot/certs/dovecot.pem’,’r’

Я выполнил ll /etc/pki/dovecot/certs/ и получил

-rw-------. 1 root root 1221 set 19 09:45 dovecot.pem

Даже при изменении прав на 755 с помощью chmod. Тем не менее, это не работает.

Во-вторых, я получаю:

'(Имя хоста или домена не найдено. Ошибка службы имен для имени=domain.com тип=AAAA: Хост не найден)'

Я выполнил cat /etc/hosts. Он показывает следующие строки:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.10  serverMail
192.168.1.10 domain.com

Даже я добавил ‘192.168.1.10 domain.com’, но это тоже не работает.

Что я могу сделать, чтобы отправить электронные сообщения в качестве теста?

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

Для решения вашей проблемы с отправкой электронных писем через mailx, нам нужно исправить две основные проблемы, которые вы описали: проблемы с TLS и проблемы с разрешением доменного имени.

1. Проблема с сертификатом RSA

Судя по ошибке в журнале maillog, у вашей конфигурации Postfix нет доступа к файлу сертификата /etc/pki/dovecot/certs/dovecot.pem. Ошибка Permission denied указывает на то, что права доступа не позволяют программе, запущенной под пользователем, который управляет процессом Postfix, читать этот файл.

Решение:

  1. Исправьте права доступа к файлу сертификата. Убедитесь, что файл доступен для чтения пользователем, под которым запущен Postfix (обычно это пользователь postfix или dovecot). Например, можно сделать так:

    chown postfix:postfix /etc/pki/dovecot/certs/dovecot.pem
    chmod 640 /etc/pki/dovecot/certs/dovecot.pem
  2. Убедитесь, что родительские директории также имеют правильные права доступа. Например:

    chmod 750 /etc/pki
    chmod 750 /etc/pki/dovecot
    chmod 750 /etc/pki/dovecot/certs

2. Проблема с разрешением доменного имени

Ошибка, связанная с доменным именем: Host or domain name not found. Name service error for name=domain.com type=AAAA: Host not found, указывает на то, что ваш сервер не может разрешить domain.com.

Решение:

  1. Убедитесь, что в /etc/hosts запись для domain.com добавлена правильно, как вы уже сделали:

    192.168.1.10 domain.com
  2. Проверьте конфигурацию DNS-сервера, который использует ваш сервер. Убедитесь, что он может разрешать имена, и что записи правильно установлены. Например, проверьте файлы
    /etc/resolv.conf, чтобы убедиться в наличии корректных DNS-серверов, либо протестируйте разрешение доменов с помощью команды:

    nslookup domain.com

    или

    dig domain.com
  3. Если DNS не настроен и вы тестируете локально, вы можете использовать файл /etc/hosts для временного решения. Убедитесь, что domain.com указывает на корректный локальный IP-адрес.

Заключение

После внесения указанных изменений, перезапустите Postfix и Dovecot для применения новых настроек:

systemctl restart postfix
systemctl restart dovecot

Затем попробуйте отправить тестовое письмо снова. Если проблемы продолжаются, проверьте журналы на наличие новых ошибок и убедитесь в правильности конфигурации всех используемых компонентов (Postfix, Dovecot, Mailx).

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

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