linux – 用于sendmail的ssh隧道

我在这里疯了,试图配置我的系统.

我家里有一台笔记本电脑,还有工作站.我用mutt和sendmail.我有一个家庭ISP,在很多黑名单上,所以我从笔记本电脑通过我的ISP发送的任何电子邮件经常被接收者阻止为垃圾邮件.我可以通过SSH连接到我的工作站并以交互方式使用mutt,但这很慢且很乏味.我用fetchmail将我的电子邮件从工作服务器下载到笔记本电脑.

我试图让笔记本电脑通过工作邮件发送邮件

ssh -L 25:workstation.work.com:25 workstation.work.com

但是当我这样做时,似乎sendmail无法运行.当我尝试从工作站fetchmail到笔记本电脑时,必须在笔记本电脑上运行sendmail才能在笔记本电脑上本地传送邮件.当邮件通过时,它会被拒绝,因为主机名无法识别.我试过改变mutt中的主机名.这似乎不会影响任何事情.

所以我对如何在我的笔记本电脑上配置mutt,sendmail和SSH感到困惑,这样我就可以从我的笔记本电脑编写和发送电子邮件,以便它们可以交付,但我也希望通过fetchmail从服务器上获取我的电子邮件它在当地交付.

任何帮助赞赏.

解决方法:

如果您运行该ssh隧道,则无法在本地运行sendmail,否则它将侦听端口25,而不是您的隧道.默认情况下,fetchmail需要本地邮件服务器才能传送,但是如果您愿意,可以将其配置为直接传送到mbox文件.

我做的是我在我的笔记本电脑上运行postfix,并设置为使用relayhost = [127.0.0.1]:2526 /etc/postfix/main.cf将邮件传递给localhost:2526.然后我运行ssh隧道ssh -N -L 2526:localhost:25 ptomblin @ myserver,这样当postfix进行传递时,它会通过隧道隧道传输出去.而像mut​​t和fetchmail这样的本地邮件客户端就像他们期望的那样看到在端口25上运行的本地邮件服务器.

上一篇:无休止的php邮件循环


下一篇:使用不同的邮件api jar缓慢发送邮件性能(javamail)