如何在 OSX 上安装和配置 MSMTP



按照 ArchLinux 上的说明安装和配置msmtp不起作用。文件/etc/ssl/certs/ca-certificates.crt或类似内容丢失,尝试使用msmtp发送邮件将导致证书错误。

OSX High Sierra的替代配置是什么,以便可以使用msmtp像教程中那样发送邮件?

注意:前段时间我自己回答了这个问题,并认为它有用且值得分享,所以我创建了这个问题和答案。例如,如果对证书和指纹有更多了解的人可以提供更高质量的答案,其中包含有关使用证书或指纹之间区别的更多详细信息和背景信息,那就太好了。

多年后请注意:我知道这是一个自我回答的问答,但这有 1k 次观看,所以也许记得对有用的问答投赞成票。

您可以在 ~/.msmtprc 中使用 tls_fingerprint 字段,而不是 tls_trust_file 。要生成 tls_fingerprint 的字段值,您可以运行以下命令

msmtp --serverinfo --tls --tls-certcheck=off --host=smtp.gmail.com --port=587 | egrep -o "([0-9A-Za-z]{2}:){31}[0-9A-Za-z]{2}"

tls_fingerprinttls_trust_file 是互斥的,因此不要尝试同时使用两者,否则msmtp会出现配置错误。

您可以运行以下脚本来安装和配置msmtp以与Ubuntu 18Mac OSX High Sierra上的gmail帐户一起使用。

一种对我有用的替代方法,避免了tls_fingerprint过期的问题。

使用 MacPorts 安装 curl CA 捆绑包:

sudo port install curl-ca-bundle

找到捆绑包:

port contents curl-ca-bundle
Port curl-ca-bundle contains:
  /opt/local/etc/openssl/cert.pem
  /opt/local/share/curl/curl-ca-bundle.crt

将以下行添加到 .msmptrc

tls_trust_file /opt/local/share/curl/curl-ca-bundle.crt

它的工作原理:

Hatchet:~ me$ mail me@mac.com
Subject: Hi Mike
done
.
EOT

没有错误。从日志文件:

exitcode=EX_OK

相关内容

  • 没有找到相关文章

最新更新