我正尝试使用mailx命令从Linux命令行发送邮件。 我可以从我的本地域发送没有问题,但我想设置邮件从我的Gmail帐户发送,并接收邮件发送到我的Gmail帐户。
在configuration我的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”之后,我find了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)设置mailx / mail.rc访问Gmail,但忽略需要nss-config-dir BS?
B)设置mailx / mail.rc,以便nss-config-dir实际上工作?
C)设置mailx / mail.rc以另一种方式访问Gmail(POP可能 – 不知道这是否是一个选项,还没有看过?)
任何帮助将超级赞赏。
谢谢你,这给了我一个更好的解决方案。 据推测,这些keyN.db
和certN.db
是可信认证机构的数据库。
我做了一个简单的
find / -name "cert*.db"
在我的系统上找到我的系统上的keyN.db
和certN.db
文件(Fedora 20)。
我在/etc/pki/nssdb/
下找到它们。
解决了!
有两种方法可以解决这个问题。
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 smtp-auth-user=USERNAME@gmail.com set smtp-auth-password=PASSWORD set ssl-verify=ignore set nss-config-dir=/etc/ssl/cert }
如果你不是root
用户,请确保你有权限访问这些文件,这让我很忙。