sSMTP 配置问题

sSMTP 配置问题

我已经通过以下方式在 Ubuntu 10.04 上安装了 sSMTP:

sudo apt-get install ssmtp

我的配置文件是:

#
# sSMTP sendmail 的配置文件
#
# 获取用户 ID < 1000 的所有邮件的人
# 将其留空以禁用重写。
[电子邮件保护]

# 邮件发往的地方。实际的机器名称是必需的
# 参考 MX 记录。通常邮件主机名为 mail.domain.com
mailhub=smtp.gmail.com:587

# 邮件看起来是从哪里来的?
#rewriteDomain=

# 完整主机名
主机名=somedomain.com

# 用户是否允许设置自己的发件人:地址?
# YES - 允许用户指定自己的发件人:地址
# 否 - 使用系统生成的发件人:地址
#FromLineOverride=YES

[电子邮件保护]
验证密码=****
usestarttls=yes

我是否以明文形式传输我的凭据?调用 ssmtp 是否是安全的操作?

谢谢。

答案1

smtp.gmail.com:587如果STARTTLS没有发出,邮件提交将失败:

[palantir]-[/var/tmp]-[528] % nc smtp.gmail.com 587                        [2:16]
220 mx.google.com ESMTP b3sm14232728ibf.7
EHLO domain.com
250-mx.google.com at your service, [67.167.112.165]
250-SIZE 35651584
250-8BITMIME
250-STARTTLS
250 ENHANCEDSTATUSCODES
MAIL      
530 5.7.0 Must issue a STARTTLS command first. b3sm14232728ibf.7
STARTTLS
220 2.0.0 Ready to start TLS

对于此用例,您的凭据必须通过 TLS 传输,因此它们不会以明文形式发送。但请注意,虽然这是常见行为,但这不是必需的行为——服务器很可能不会要求提交端口上的 TLS,也可能同样错误配置您的客户端。

正如 joschi 提到的,你可以使用任何能够捕获网络数据包的工具来确保它是加密的,并且我也想tcpflow为此添加一个建议。

答案2

除了设置之外,UseStartTLS您还应该设置UseTLSyes。请参阅ssmtp.conf(5)

您还可以通过使用或ssmtp嗅探流量来检查是否正在使用加密连接。wiresharktcpdump

相关内容