iT邦幫忙

0

[以解決] [Linode] 主機無法發信

我在 Linode 上有幾台 Linux ubuntu18 的服務器;
出於需求,必須搭建能夠發信的服務,於是我嘗試了以下幾種方法

  1. apt install ssmtp
  2. apt install mailutils (此包含 postfix )
    以上方法套用在 Google Cloud , 以及個人Virtualbox 上都是沒有問題的
    發信命令 :
  3. echo 'XXXXX' | ssmtp example@gmail.com
  4. echo 'XXXXX' | mail -s 'XXXXX' example@gmail.com

偏偏在 Linode 信就發不出去,查看了 log 顯示 與 smtp.gmail.com 587 time out (其他smtp端口也碰不到)
telnet smtp.gmail.com 587/telnet -4 smtp.gmail.com 587 發現連碰都碰不到

這該如何解決呢?

[補充]:
Linode 主機位置分別在 日本與新加坡 (都是 ubuntu18 ), 個人覺得是 Linode 的問題


[以解決-更新]
日期 2020-02-18

看了Linode針對發送郵件說明文件,本身 linode 會限制 25 465 587 端口出站,所以將無法使用發信功能.
官方解決方法:
需要給 server 一個 domain 並且設定 rdns,最後向官方提出申請;
(麻煩耗時,無法滿足多個服務器的需求)
礙於服務器眾多的要素無法使用官方作法
於是最後解決辦法是在另外一台非Linode主機中架設 mail-server , 在透過 socat port forwared 使得 linode上的所有主機透過 mail-server 發信


[再次更新]
日期 2020-02-19

更正 2020-02-18 的錯誤回答
Linode 以外的主機不需要架設 mail-server , 直接使用 socat port forwared 就好!

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
Ray
iT邦大神 1 級 ‧ 2020-02-14 18:25:26
最佳解答

各家主機託管商對於 SMTP 都有不同的限制與處理方法;
Linode 要外寄, 請依照此步驟處理:
Configure Postfix to Send Mail Using Gmail and Google Apps on Debian or Ubuntu

Linode 完整的 Email 手冊在此:
Email Server Guides

企鵝 iT邦新手 5 級 ‧ 2020-02-15 11:55:50 檢舉

raytracy
安裝方法是一樣的,看了文章說明發現主要原因
Linode限制了2019年11月5日之後創建的新帳戶在所有Linode的端口25、465和587上的出站連接
他的解決方式有兩個

  1. 第三方郵件服務(不考慮)
  2. Linode 上發出郵件
    但在第二種方法中需要有 domain,但我不需要 domain
    那該如何解決呢 ?
Ray iT邦大神 1 級 ‧ 2020-02-15 14:08:29 檢舉

加個 domain 又不會死人, 你就隨便請個 domain 發信, 平常沒用擱著不去用他就好了....

不需要用 domain 還是可以申請 domain 啊;
我手上就十幾個根本沒在用 domain....

人家有它的遊戲規則, 你跟他租房子, 當然只能照房東的遊戲規則來使用; 不然, 當初租用之前, 就要在合約內先喬好你想怎麼用? 雙方同意你的條件之後再起租....

若你不喜歡這樣的規則, 可以試著跟客服談看看; 眾網友們既不是經營者, 也不是他背後的大老闆, 我們沒有能力改變這些規則....

企鵝 iT邦新手 5 級 ‧ 2020-02-18 16:26:58 檢舉

這個問題已解決!
感謝!

我要發表回答

立即登入回答