20

mailx コマンドを使用して、Linux コマンド ラインからメールを送信しようとしています。ローカル ドメインからは問題なく送信できますが、Gmail アカウントから送信するメールと、Gmail アカウントに送信されたメールを受信するように設定したいと考えています。

私のmail.rcを次のように設定した後:

account gmail {
set smtp=smtps://smtp.gmail.com:587
set smtp-auth=login
set smtp-auth-user=USERNAME@gmail.com
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 ファイルを見つけて、次のように mail.rc に追加しました。

account gmail {
set smtp=smtps://smtp.gmail.com:587
set smtp-auth=login
set smtp-auth-user=USERNAME@gmail.com
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" SomeEmail@domain.com

私はこれを得る:

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) Gmail にアクセスするために mailx/ mail.rc
をセットアップしますが、nss-config-dir BS の必要性は無視しますか?
B) nss-config-dir が実際に機能するように mailx/mail.rc をセットアップしますか?
C) mailx/mail.rc をセットアップして、別の方法で Gmail にアクセスします (POP かもしれません - それがオプションかどうかわかりません。調べていませんか?)

どんな助けでも大歓迎です。

4

2 に答える 2

14

解決しました!

これを解決するには 2 つの方法があります。

  1. ここに移動して、ユーザーのndasusers回答に従ってください。keyN.db必要なとファイルの両方が作成されcertN.dbますが、別の潜在的な問題を解決する別の GMail SSL 証明書も作成されます。
  2. keyN.dbまたは、 andcertN.dbをフォルダー ( /etc/ssl/cert maybe)にコピーして、次のように指定することもできますmail.rc

    account gmail {
        set smtp=smtps://smtp.gmail.com:587
        set smtp-auth=login
        set smtp-auth-user=USERNAME@gmail.com
        set smtp-auth-password=PASSWORD
        set ssl-verify=ignore
        set nss-config-dir=/etc/ssl/cert
    }
    

ユーザーでない場合は、これらのファイルにアクセスする権限があることを確認してくださいroot。これは、しばらくの間私を悩ませました。

于 2013-05-29T14:05:39.633 に答える
13

これをありがとう、それは私にさらに良い解決策を見つける方法を与えてくれました. おそらくこれらkeyN.dbcertN.dbは、信頼できる認証局のデータベースです。

私は簡単なことをしました

find / -name "cert*.db"

私のシステムのどこにkeyN.dbファイルcertN.dbがあり、私のシステム(Fedora 20)にありますか。
で見つけました/etc/pki/nssdb/

于 2014-01-21T19:15:56.117 に答える