Mailx и Gmail nss config dir - программирование
Подтвердить что ты не робот

Mailx и Gmail nss config dir

Я пытаюсь отправить почту из командной строки Linux, используя команду mailx. Я могу отправить из своего локального домена никаких проблем, но я хочу настроить почту для отправки с моей учетной записи Gmail, а также получать почту, отправленную на мою учетную запись Gmail.

После настройки моего mail.rc следующим образом:

account gmail {
set smtp=smtps://smtp.gmail.com:587
set smtp-auth=login
set [email protected]
set smtp-auth-password=PASSWORD
set ssl-verify=ignore
}

Я бы получил ошибку:

Resolving host smtp.gmail.com . . . done.
Connecting to 74.125.25.109 . . . connected.
Missing "nss-config-dir" variable.
"/home/USERNAME/dead.letter" 11/354
. . . message not sent.

Посмотрев, что "nss-config-dir" был здесь, я нашел файлы certN.db и keyN.db и добавил это к своей почте. rc так:

account gmail {
set smtp=smtps://smtp.gmail.com:587
set smtp-auth=login
set [email protected]
set smtp-auth-password=PASSWORD
set ssl-verify=ignore
set nss-config-dir=/home/USER/.mozilla/firefox/LOCATION.default
}

теперь, когда я пытаюсь отправить почту с помощью этой команды:

echo "sent from gmail account" | mailx -v -A gmail -s "Command line mail" [email protected]

Я получаю это:

Resolving host smtp.gmail.com . . . done.
Connecting to 74.125.25.108 . . . connected.
COMMENT-->then it waits there for about 5 mins then spits out this:
SSL/TLS handshake failed: Unknown error -5938.
"/home/USER/dead.letter" 11/354
. . . message not sent.

Кто-нибудь знает, как это сделать:
  A) Настроить mailx/mail.rc для доступа к Gmail, но игнорировать необходимость в nss-config-dir BS?
  B) Настройте mailx/mail.rc, чтобы на самом деле работало nss-config-dir?
  C) Настройте mailx/mail.rc для доступа к Gmail по-другому (POP, возможно, не знаете, если этот параметр не просмотрел его?)

Любая помощь будет оценена по достоинству.

4b9b3361

Ответ 1

Спасибо за это, он дал мне способ найти еще лучшее решение. Предположительно, эти keyN.db и certN.db являются базами данных доверенных органов сертификации.

Я сделал простой

find / -name "cert*.db"

чтобы найти, где в моей системе есть файлы keyN.db и certN.db в моей системе (Fedora 20).
Я нашел их под /etc/pki/nssdb/.

Ответ 2

Решил!

Есть два способа решить эту проблему.

  • Перейдите здесь и следуйте указаниям пользователя ndasusers. Он будет создавать файлы keyN.db и certN.db, которые вам нужны, а также еще один сертификат GMail SSL, который разрешит еще одну потенциальную проблему.
  • Или вы можете просто скопировать keyN.db и certN.db в папку (/etc/ssl/cert maybe) и направить mail.rc там так:

    account gmail {
        set smtp=smtps://smtp.gmail.com:587
        set smtp-auth=login
        set [email protected]
        set smtp-auth-password=PASSWORD
        set ssl-verify=ignore
        set nss-config-dir=/etc/ssl/cert
    }
    

Удостоверьтесь, что у вас есть разрешение на доступ к этим файлам, если вы не являетесь пользователем root, что заставляло меня беспокоиться.