我可以通过主机提供商提供的 SSH 访问服务器sendmail
。我想配置本地sendmail
服务器以使用远程服务器作为中继。我该怎么做?有可能吗?
注意:我可以编写脚本来运行类似的程序ssh user@host sendmail ...
,但在我看来似乎有更好的解决方案。
答案1
准备 SSH
在本地创建一个没有密码的新 SSH 密钥。在这些示例中,该密钥将位于用户处/etc/mail/ssh-sendmail-key
并归用户所有MAILUSER
。将 MAILUSER 更改为您的本地系统使用的任何 Unix 帐户:,,,postfix
...不建议使用或。sendmail
mail
root
nobody
# ssh-keygen -f /etc/mail/ssh-sendmail-key -N ""
# chown MAILUSER /etc/mail/ssh-sendmail-key{,.pub}
将内容附加/etc/mail/ssh-sendmail-key.pub
到服务器的授权密钥文件:
ssh-rsa AAAA....
后缀
ssh
在以下位置创建传输master.cf
:
ssh unix - n n - - pipe
user=MAILUSER argv=/usr/bin/ssh -i /etc/mail/ssh-sendmail-key myhostserver /usr/sbin/sendmail -i $recipient
在 中main.cf
添加:
default_transport = ssh
进出口
路由器:
ssh:
driver = manualroute
domains = ! +local_domains
transport = ssh
route_list = * foo
运输:
ssh:
driver = pipe
user = MAILUSER
command = /usr/bin/ssh -i /etc/mail/ssh-sendmail-key myhostserver /usr/sbin/sendmail -i $RECIPIENT