sSMTP 错误:`无法设置 TLS_CA_FILE="/full/path/to/file.pem"',然后是来自 gmail 的“错误凭据”

sSMTP 错误:`无法设置 TLS_CA_FILE="/full/path/to/file.pem"',然后是来自 gmail 的“错误凭据”

即使我可以成功使用发送邮件斯瓦克斯使用 ssmpt 协议时,当我尝试使用 ssmpt 程序时出现错误。

以下是失败的 ssmtp 交换的邮件日志:

Sep  8 21:25:24 skunk-desktop sSMTP[13400]: Set Root="[email protected]"
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: Unable to set TLS_CA_FILE="/etc/ssl/cert/skunk-desktop.pem"
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: Set MailHub="smtp.gmail.com"
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: Set RemotePort="587"
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: Set AuthUser="[email protected]"
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: Set UseTLS="True"
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: Set UseSTARTTLS="True"
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: Set RewriteDomain="gmail.com"
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: Set HostName="skunk-desktop.attlocal.net"
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: Set FromLineOverride="False"
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: Creating SSL connection to host
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: 220 smtp.gmail.com ESMTP xxxxxxxxxxxxxxxx.26 - gsmtp
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: EHLO skunk-desktop.attlocal.net
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: 250 SMTPUTF8
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: STARTTLS
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: 220 2.0.0 Ready to start TLS
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: SSL connection using RSA_AES_128_CBC_SHA1
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: EHLO skunk-desktop.attlocal.net
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: 250 SMTPUTF8
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: AUTH LOGIN
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: 334 xxxxxxxxxxxx
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: 334 xxxxxxxxxxxx
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: 
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: 535 5.7.8  https://support.google.com/mail/?p=BadCredentials xxxxxxxxxxxxxxxx.26 - gsmtp
Sep  8 21:25:24 skunk-desktop sSMTP[13400]: Authorization failed (535 5.7.8  https://support.google.com/mail/?p=BadCredentials xxxxxxxxxxxxxxxx.26 - gsmtp)

在我的ssmtp配置文件文件中只有一个变量来指定证书文件,我将其设置为:

  • TLS_CA_FILE=/etc/ssl/cert/skunk-desktop.pem

然而,工作斯旺克斯设置有地方文件设置,如下所示斯旺克斯and带有标志‘-tsl-cert tsl-key’的命令行:

swaks -t [email protected] \
  -s smtp.gmail.com:587 \
  -protocol SSMTP \
  -tls \
  -tls-cert /etc/ssl/cert/skunk-desktop.pem \
  -tls-key /etc/ssl/private/skunk-desktop.pem \
  -au [email protected] \
  -ap "<password> \
  -apt

tsl-key因此在 ssmtp.conf 文件中没有地方可以指定。值得注意的是,斯瓦克斯还有另一种选项可以将证书指定为单个文件:

--tls-ca-path <single file does it all>

我使用以下内容创建自己的证书一对文件数:

DIRC=/etc/ssl/cert
DIRP=/etc/ssl/private
CNAME=skunk-desktop.pem
openssl req -newkey rsa:4096 -nodes -sha512 -x509 -days 3650 -nodes -out $DIRC/$CNAME -keyout $DIRP/$CNAME
chmod go= $DIRP/$CNAME

我认为我可以通过openssl创建单个“CA”文件而不是一对公有/私有 .pem 文件来解决此问题。但是我不知道该怎么做。

问题真的只是需要创建一个“CA”文件吗?如果不是,那么问题是什么?如何解决?

相关内容