iT邦幫忙

0

Mail SPF

  • 分享至 

  • xImage

各位大大好

想請教 SPF 的設定
一直以為要在 DNS 上面做設定,但是今天電子報系統在他們的 mail server 設定完 ,spf 就 顯示 pass, 請問這是什麼原理.

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
ks1217
iT邦研究生 1 級 ‧ 2018-11-19 15:20:17
最佳解答

SPF有分 Hard 跟 soft, 如果你在DNS上登記的IP結尾是用 ~ 符號, 表示非強制認定, 所以錯了也可以pass的意思,(有設跟沒設一樣)
請改用 - 符號, 強制認定, 錯了就是fail.退信.

看更多先前的回應...收起先前的回應...
cmwang iT邦大師 1 級 ‧ 2018-11-19 16:08:19 檢舉

soft fail是指特定domain的管理者並沒有要求收件主機在收到來自其宣告範圍以外但sender帶其domain name的mail時要直接reject,而是讓收件端自己判斷該怎麼處理(是要直接收下,還是reject,或是分到垃圾信區,反正收件端自己看著辦),並沒有錯了也一定可以pass的意思....

ray060210 iT邦新手 5 級 ‧ 2018-11-20 09:23:12 檢舉

感謝您的回覆
DNS 是自管,所以我跟電子報廠商要求 spf 的資料,不過他們說不用給他們會設定,讓我納悶了一下.
之後我就把 DNS 上的紀錄拿掉,結果 Gmail 還真的 pass 了他的信件.所以才會有這個疑問.

ks1217 iT邦研究生 1 級 ‧ 2018-11-20 11:16:35 檢舉

一般來說Soft fail大多是PASS, 因為還是很多服務商沒有設定SPF, 如果強制指定只會造成更多麻煩, 所以寧願PASS不會REJECT.

ks1217 iT邦研究生 1 級 ‧ 2018-11-20 11:20:08 檢舉

可以到下列網址輸入您的Email Domain, 即可知道SPF是否有作用,
https://kitterman.com/spf/validate.html

SPF是雙向的, 您的DNS設定SPF後, 對方EMAIL Server也要開啟SPF Check才會有效果, 所以像是gmail yahoo等免費信箱, 很像都不會做此驗證, 避免太多信件被退.

ray060210 iT邦新手 5 級 ‧ 2018-11-23 17:30:51 檢舉

感謝您的回覆,
測試過 SPF 認證不過.
DNS 的記錄是必要的認證方式.
被 PASS 的原因可能只是我沒有開強制認證,
我也移動到收信夾,所以沒有在垃圾信裡面.

https://postmaster.google.com/u/0/managedomains
這邊可以給 google 認證 domain.

https://support.google.com/mail/contact/msgdelivery
這邊可以回報 google 信件的問題.

搞得我不要不要的......

0
cmwang
iT邦大師 1 級 ‧ 2018-11-19 16:12:13

有沒有可能是電子報系統連帶會去更新DNS上的SPF啊,很多郵件代管商會要求user把DNS設定成由其代管,通常就是為了讓其客戶直接套用其SPF宣告,免得還要跟user解釋半天,還未必設對....

ray060210 iT邦新手 5 級 ‧ 2018-11-20 09:24:28 檢舉

感謝您的回覆.
DNS 是自管的.使用的是 cloudflare.

0
riches88
iT邦研究生 3 級 ‧ 2018-11-20 13:50:00

DNS SPF 的運作機制就是在DNS伺服器中加入 txt 的紀錄,此txt紀錄者這個網域名稱能的所有郵件伺服器,相反地,只有這些紀錄中的郵件伺服器可以寄送該網域名稱的郵件,所以能夠提供一個冒用的檢查方法。
SPF主要的功能是讓收信端郵件伺服器根據來信中寄件者網域資料主動去向寄信端所屬的DNS伺服器核對其SPF紀錄。收釁端郵件伺服器再依照比對結果做接收與否的決定。
寄件者原則架構是一種用於協助防止電子郵件詐騙的記錄。它可讓您在單一簡易 TXT 記錄中指定用來傳送郵件的所有 IP 位址,並且告知接收伺服器只允許您所列出的外寄伺服器。
雖然SPF不能完全保證別人盜用你的寄件者身份,主要還是依賴收件端郵件伺服器的設定,但有此設定,可提高避免您的郵件伺服器寄出的郵件被誤判為垃圾信件

SPF 記錄中的參數請參照下面的解說
SPF 記錄中的參數請參照下面的解說:

  1. a:比對 dns 中的 a 紀錄,若沒有指定哪個網域名,則以目前的的網域為主。
  2. mx:比對 dns 中的 mx 紀錄,若沒有指定哪個網域名,則以目前的網域為主。
  3. ptr:比對 dns 中的 ptr 紀錄,若沒有指定哪個網域名,則以目前的網域為主。
  4. ~all:參數若比對失敗,信件仍能寄進來,但該信件標題會加註 'SPF-Failure' ,並置於垃圾信件資料夾中。

其中的 v=spf1 是表示 spf 所使用的版本

其中的符號 + – 之外還有 ~ 跟? 分別的意思為
“+“:Pass 代表允許,為預設的屬性
“–“:Fail 代表拒絕,-all 表示除了有條列出來的主機允許其他都拒絕,標式為 Hard Fail 不會接受該信件
“~“:SoftFail 代表拒絕,~all 表示除了有條列出來的主機允許其他都拒絕,標式為 Soft Fail 還是接收了該信件
“?“:Neutral 代表可能還有其他網域,收件主機還是會接收該信件

如何解決信件被Gmail標記為垃圾信?
https://www.richesinfo.com.tw/index.php/edm/edm-faq/index.php/mxmail/mxmail-faq/155-mxmail-faq-gmail

ray060210 iT邦新手 5 級 ‧ 2018-11-23 17:32:03 檢舉

感謝您的回覆,
詳細的內容.不過我卡在誤以為主機那邊設定就可以 PASS.

我要發表回答

立即登入回答