即使我可以成功使用发送邮件斯瓦克斯使用 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”文件吗?如果不是,那么问题是什么?如何解决?