[主機空間新手攻略23]常見弄混(cPanel控制台)-MX指向沒有指向主機空間,也可以發信?自己寄給自己哪裡收信呢?
網頁程式寄信是一個很常見的通知功能,然而在實務上許多人容易將程式發信功能認為是自己平常在收發信件的Mail Server,當網址的MX指向沒有指向主機空間時(即Web 與Mail Server不同台時),也可以程式發信 嗎? 的思維下,反而更混亂狀況而不得頭緒。如下將以程式發信為出發點,一步一步的去掌握目前所在使用網頁程式
何謂網頁程式發信
即為於網頁程式裡發出E-mail信件 ,常用於忘記密碼、訂購通知、會員訂閱信、留言提醒…等。
主機空間裡程式發信的運作模式有哪些?
程式發信主要方式有3種方式,PHP Mail() 與 SMTP。
●PHP Mail():函數可以直接從腳本中直接發送電子郵件(沒有透過Mail Server),而因現在垃圾郵件氾濫,故大多虛擬主機商都沒有開啟mail(), 需要用SMTP的方式來發信(如下)
●SMTP:網頁程式搭配結合mail server來發出E-mail信件,故此需要有Mail Server,許多人會直接使用虛擬主機上的mail server(在之前文章裡介紹虛擬主機的主要服務有哪此,詳情點請我),亦會使用外部的mail server(如Gmail或不同於網頁程式主機空間的企業信箱-如:Hibox、Outlook、Gmail 企業信箱…等)。
另有一種:“API串聯,避開虛擬主機商禁止使用外部信箱發信限制”詳情請點我,此方式會需要視該Mail Server有提供API方式才能執行,故不在此次討論的範圍內。
常見主機空間上網頁程式使用SMTP發信程式有哪些?
①PHPMailer(詳情請點我):一個專提供程式寄信功能的第三方機構,且一直有在更新程式,許多撰寫網頁程式的設計師在有發信功能需求時會搭配使用PHPmailer程式碼。
②常見的CMS-Wordress可以安裝寄信的外掛,可以選擇Mail() 或是 SMTP發信,如:WordPress網站上可查到相關提供的外掛,詳情請點我。
常見使用網頁程式的SMTP發信的訊息需要哪些
有三:需要Mail Server位置、Mail 帳號、Mail 帳號的密碼
若是使用同一虛擬主機裡的SMTP,常會使用localhost、127.0.0.1、指向該主機的網址名稱。
若是使用外部的Mail Server,則會是該外部主機空間的hostname。
常見主機空間使用程式寄信與 SMTP發信之間的盲點
①常見盲點-1:SMTP簡單理解是為可以發信功能,故主機空間有Mail Server服務,可以理解即有SMTP發信功能,就可以配合網頁程式裡的程式發信。
②常見盲點-2:承上述,因程式寄信只用到發信功能,因此可以透過GMAIL來發信,故與MX是否指向過來沒有關係。
③常見盲點-3:部分主機空間商為管理濫發信件問題,不允許網頁程式使用外部的Mail Server來發信,故配合常見盲點-1,僅能使用同一個虛擬主機上的Mail Server來發信。
④常見盲點-4:需要增加SPF指向,SPF指向是於DNS Server上設定,用於收信者驗證發信者的IP為何(詳細說明請點我),當Web Server與Mail Server為不同的主機空間時,常見SPF只會設定Mail Server的訊息,而無設定Web Server,此會導致Web Server的程式發信被拒收。
⑤常見盲點-5:綜合上述1-4點實例說明。
網址為:tang.com
●網頁主機空間是用S家的虛擬主機,為了程式發信(於Cpanel上產生admin@tang.com的mail帳號來發信)→該Cpanel建立的Mail帳號,僅為了使用虛擬主機上的SMTP功能,故不會與下方的Mail Server有抵觸或影嚮其他Mail 來信問題。
●Mail 主機空間是用Gmail 的企業信箱;Mail帳號為:admin@tang.com
當Mail信件是用來提供管理/用戶端時(如訂購通知、留言通知),會是
網頁主機的admin@tang.com
寄至
Mail主機的admin@tang.com
若有收不到,請至cPanel控制台(何謂cPanel控制台請點我)→電子郵件路由(Email Routing)勾選〝遠端郵件交換器(Remote Mail Exchanger )〞,如下圖,此是用來告知cPanel,是使用外部的Mail Server,信件請往外拋送。
●如何添加SPF指向,至Web Server的cPanel→Email Deliverability→管理查看主機SPF指向訊息,再至DNS Server添上(如何於cPanel查看SPF設定請點我)請至DNS Server上設定進去。如下圖,主機空間IP比如為:1.2.3.4,則將:ip4:1.2.3.4 加至DNS Server的SPF指向裡即可。
結論
1.在網頁寄信程式裡,若主機位置(hostname)是設定hostname(像網址一樣),可以透過之前文章,如何確認DNS指向完成文章(詳情請點我)裡ping的指向,來確認設定的hostname是使用哪裡的,簡單來說,與網頁程式的主機空間不同一個IP;使其他的主機空間的Mail Server來發信了。
2.有部分虛擬主機控制台,是採用直接關閉虛擬主機上Mail Server的方式(=是允許使用外部的Mail Server發信),建議可以直接與主機代管商確認設定。
3.在網頁寄信程式裡,mx record主要是影嚮當自已mail 帳號寄給自已mail帳號時能否收到,不影嚮寄出Mail功能。
文章來源: https://wpoki.com
GIPHY App Key not set. Please check settings
One Comment