2008-12-24 220 views
4

我在這裏瘋了,試圖讓我的系統配置。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並在本地交付。

任何幫助表示讚賞。

回答

7

如果你運行該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 [email protected],這樣當postfix交付時,它會通過隧道隧道出去。像Mutt和fetchmail這樣的本地郵件客戶端可以像他們期望的那樣看到端口25上運行的本地郵件服務器。

0

保羅:你的答案做生意!我很困惑,應該已經指定-L 54321:localhost:25而不是-L 54321:remotehost:25。請注意您的relayhost節中的錯字。方括號應該在冒號前關閉,因此:relayhost = [127.0.0.1]:54321。 感謝您對postfix的建議。以前我一直在使用sendmail,有點盲目,現在你的建議已經安裝並使用了postfix,並且發現配置與sendmail相比是一種絕對的喜悅!

+0

是不是postfix的main.cf在sendmail.cf的恐怖之後是一種快樂?我一直在使用postfix多年。 – 2008-12-26 00:48:02