2013-05-28 7 views
14

Sto cercando di inviare posta da una riga di comando di Linux utilizzando il comando mailx. Posso inviare dal mio dominio locale senza problemi, ma voglio impostare la posta per inviare dal mio account Gmail e ricevere la posta inviata al mio account Gmail.Mailx e Gmail nss config dir

Dopo aver configurato il mio mail.rc in questo modo:

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 
} 

vorrei ottenere l'errore:

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. 

dopo aver guardato a ciò che il "NSS-config-dir" è stato here, ho individuato i file certN.db e keyN.db e ha aggiunto che al mio mail.rc in questo modo:

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 
} 

ora quando cerco di sé ND mail utilizzando questo comando:

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

ottengo questo:

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. 

Qualcuno sa come a uno:
a) istituire mailx/mail.rc per accedere a Gmail, ma ignorano che necessitano di NSS -config-dir BS?
B) Configurare mailx/mail.rc in modo che la dir-config di nss funzioni effettivamente?
C) Impostare mailx/mail.rc per accedere a Gmail in un altro modo (pop forse -non so se questa è un'opzione, non hanno guardato dentro?)

Qualsiasi aiuto sarebbe super apprezzato.

risposta

10

Grazie per questo mi ha dato un modo per trovare una soluzione ancora migliore. Presumibilmente questi keyN.db e certN.db sono database di autorità di certificazione attendibili.

ho fatto una semplice

find/-name "cert*.db" 

per trovare dove sul mio sistema ha il keyN.db e certN.db file sul mio sistema (Fedora 20).
Li ho trovati sotto /etc/pki/nssdb/.

8

Risolto!

Ci sono 2 modi per risolvere questo problema.

  1. Andare oltre here e seguire utente ndasusers risposta. Creerà entrambi i file keyN.db e certN.db necessari ma anche un altro certificato GMail SSL che risolverà un altro potenziale problema.
  2. Oppure si può semplicemente copiare il keyN.db e certN.db in una cartella (/etc/ssl/cert maybe) e diretta mail.rc lì in questo modo:

    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 
    } 
    

Assicurati di avere il permesso di accedere a tali file, se non siete root utente, che mi ha infastidito per un bel po '.

+4

La directory di nss è '/ etc/pki/nssdb /'. Questo può anche essere usato per indicare 'nss-config-dir'. –

+1

+1 a @k_o_. Per gli utenti di CentOS, dovresti usare/etc/pki/nssdb come/etc/pki è il percorso predefinito per qualsiasi cosa relativa al certificato e include una directory nssdb. –