我已经通过Ubuntu 10.04安装了sSMTP:
sudo apt-get install ssmtp
我的configuration文件是:
# #sSMTP sendmail的configuration文件 # #所有邮件的用户名<1000 #将其设置为空以禁用重写。 [email protected] #邮件去的地方。 实际的机器名称是必需的 #MXlogging被咨询。 通常mailhosts被命名为mail.domain.com mailhub = smtp.gmail.com:587 #邮件似乎从哪里来? #rewriteDomain = #完整的主机名 主机名= somedomain.com #用户是否允许设置他们自己的From:地址? #YES - 允许用户指定他们自己的From:地址 #NO - 使用系统生成的From:地址 #FromLineOverride = YES [email protected] authpass = **** usestarttls = YES
我是否以明文传送我的凭证? 是调用ssmtp一个安全的操作?
谢谢。
邮件提交到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,也可能类似地错误地configuration客户端。
正如joschi提到的,你可以确定它是用任何可以捕获数据包的工具encryption的,我也想添加tcpflow作为一个build议。
除了设置UseStartTLS还应该将UseTLS设置为yes 。 见ssmtp.conf(5) 。
您还可以通过使用wireshark或tcpdump嗅探stream量来检查ssmtp是否使用encryption连接。