我使用 SOCKS 代理服务器在 Linux 中使用sendmail
并mailx
从命令行发送邮件。
为了使用 SOCKS 服务器,我使用tsocks
来发送邮件mailx
,例如像这样
tsocks mailx -s "Test mail" [email protected]
但我发送的邮件没有通过代理。我不知道我做错了什么。
请提供任何帮助。
答案1
我怀疑 mailx 配置为使用 sendmail,因此 tsocks 在这里是多余的。如果忽略它会发生什么?
tsocks 实际上可能会妨碍 - 如果 /etc/tsocks.conf 中没有规则来绕过环回接口的代理,它可能会在不应该的情况下将消息发送到代理。
答案2
迟到的答案,但我刚刚弄清楚如何通过仅 http/https 代理发送电子邮件:
仅使用ssmtp
并遵循archlinux 维基设置。该教程在发送测试邮件时失败,下面是对我有用的解决方案。
我有一个ssh 袜子连接到localhost
.我用来corkscrew
连接到在端口 443 上运行的 ssh 守护程序。您可能需要也可能不需要它。如果您不需要此功能,请忽略-o
以下选项
ssh -vv -CND 8080 -p443 user@<sshd server> -o "ProxyCommand corkscrew
$proxy_ip_or_domain_name $proxy_port <sshd server>
443 /file/to/proxy-credentials"
代理凭证授权文件如下所示:
DOMAIN\user:pass
我是/etc/tsocks.conf
这样配置的
server = 127.0.0.1
server_port = 8080
教程命令
echo test | mail -v -s "testing ssmtp setup" [email protected]
tsocks
当放在它前面时挂起并且对我不起作用,但是
TSOCKS_CONFFILE=/etc/tsocks.conf tsocks mail [email protected]
< .bash_history
做。