狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

[點晴CRM客戶管理系統]避免我們的郵件服務器發出的郵件被當成垃圾郵件

admin
2011年8月2日 16:7 本文熱度 2880
(DKIM是什么呢?根據DKIM的官方(http://www.dkim.org)說法,是“DomainKeys Identified Mail”,也就是被域名驗證過的郵件。)
由于網絡上太多垃圾郵件,其中大部分垃圾郵件都冒充其他的域名給我們發送郵件。那么我們怎么知道這個郵件真的是從郵件所聲明的域發來的呢?比如,我可以設置一個SMTP服務器,設置郵件域名為gmail.com,那么我就可以自己添加一個帳號是webmaster@gmail.com來發郵件了。

大家覺得聽起來還挺可怕的。那么怎么可以避免這些不是從真正的gmail.com服務器發來的垃圾郵件呢?有人說可以通過郵件頭查看發送源。對,但我們不可能每一封郵件都查看它的郵件頭吧?我們要的是接收郵件服務器可以過濾掉這些垃圾郵件。


我總結了一下常見的做法:


一、通過在DNS里面設置SPF記錄,向Internet聲明從我們自己的域名發出的郵件會通過哪些服務器來發送。這方法很簡單,只要我們的DNS供應商提供的管理界面中可以添加SPF記錄就可以設置了(不是所有的供應商會提供這設置,我的域名是在godaddy.com上注冊的,可以設置SPF記錄)。設置時,添加一個SPF記錄,然后輸入域名,如果是本域,可用@來表示。然后在VALUE中輸入如“v=spf1 ip4:67.202.107.106 -all”的值。 這值分三部分:


(1)v=spf1 說明是一個SPF的v1記錄


(2)ip4:67.202.107.106 說明郵件會從此聲明IPv4地址發出。它可以是一個IP,或一個IP段。如果有多個IP或多個IP段的話,可以聲明多個ip4記錄(如“ip4:1.0.1.0/24 ip4:1.0.2.0/24″),每個ip4記錄間用空格分隔。另外,除了用IPv4外,還可以有如下選擇:


1) ip6: 使用 IPv6 進行驗證。
2) a: 使用一個域名進行驗證。這將引起對域名服務器進行一次 A RR 查詢。可以按照 a:domain, a:domain/cidr 或 a/cidr 的形式來使用。
3) mx: 使用 DNS MX RR 進行驗證。MX RR 定義了收信的 MTA,這可能和發信的 MTA 是不同的,這種情況基于 mx 的測試將會失敗。 可以用 mx:domain, mx:domain/cidr 或 mx/cidr 這些形式進行 mx 驗證。
4) ptr: 使用域名服務器的 PTR RR 進行驗證。這時,SPF 使用 PTR RR 和反向圖進行查詢。如果返回的主機名位于同一個域名之內,就驗證通過了。這個參數的寫法是 ptr:domain
5) exist: 驗證域名的存在性。可以寫成 exist:domain 的形式。
6) ext: 定義對 type 的可選擴展。如果沒有這個字段,那么僅使用單個記錄進行問詢。
7) mod: 這是最后的類型指示,作為記錄的一個修正值。修正值 描述:
  redirect 重定向查詢,使用給出的域名的 SPF 記錄。
  以 redirect=domain 的方式使用。
  exp 這條記錄必須是最后一條,允許給出一條定制的失敗消息。
  IN TXT “v=spf1 mx -all exp=getlost.example.com”
  getlost IN TXT “You are not authorized to send mail for the domain”
(3)-all 定義匹配時的返回值,可有如下選擇:


1) + 缺省值。在測試完成的時候表示通過。
2) – 表示測試失敗。這個值通常是 -all,表示沒有其他任何匹配發生。
3) ~ 表示軟失敗,通常表示測試沒有完成。
4) ? 表示不置可否。這個值也通常在測試沒有完成的時候使用。


所以總結如上資料,“v=spf1 ip4:67.202.107.106 -all”的意思是這個域只有67.202.107.106這個IP可以發郵件出來,其他IP的都是非法的。(以上內容參考自:http://baike.baidu.com/view/1372988.htm


二、通過Domainkeys或DKIM給自己的郵件添加一個數字驗證。Domainkeys是有Yahoo!提出一個標準,但由于不是完成開源,所以被崇尚開源的DKIM所替代。Domainkeys和DKIM的工作原理都是一樣的,就是在郵件服務器上生成一個數字證書,把此數字證書的公鑰添加到DNS的txt記錄中。然后在郵件服務器上對每封發出的郵件的郵件頭中的基本信息(如發件人,收件人,主題等)通過此數字證書的密鑰進行加密,把加密后的內容添加到郵件頭中。當支持Domainkeys或DKIM的接收郵件服務器(如gmail.com)收到此郵件后,就會通過DNS查詢得到發送域中的公鑰信息,通過此公鑰解密郵件頭的相關加密內容,然后再與對應的基本信息比較,看是否匹配。如果發現郵件不匹配的話,就可以認為這郵件被篡改或偽造的了。


我在我的郵件服務器上設置了DKIM,因此用DKIM來說明一下安裝的方法:


(可參考http://eric.lubow.org/2009/mail/setting-up-dkim-and-postfix/


(1)下載DKIM的source包,編譯安裝。由于DKIM需要libmilter模塊,如果你用的SMTP軟件是sendmail的話,會在sendmail中自帶此模塊。但如果你用的是其他軟件(如postfix)的話,那么就要先下載最新的sendmail source包,解壓后可找到子目錄“libmilter”。在里面用./Build和./Build install安裝libmilter模塊。


(2)通過dkim-genkey生成證書。dkim可以給多個服務器發布不同的證書驗證。方法是通過Selector來區分。在使用dkim-genkey生成證書時,可通過參數-s來設置selector。如果不指定selector的話,系統默認使用default作為selector。參數-d是域名。


如: dkim-genkey -s mail1 -d jackyhe.com 可生成一個selector是mail1的jackyhe.com下的證書。


名稱成功執行后,會在當前目錄生成兩個名字叫mail1.txt和mail1.private的文件。mail1.txt是公鑰部分,需要添加到DNS的txt記錄中。


內容如:


mail1._domainkey IN TXT “v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2ubSRHUKzL4ucfzuMKEHyy6rx/WlrZB5SKYKrCsSJWUpQstNqjcaLntaQtmKEnDgDr5rMvklaByf8vE5guqZerZ8UWeBx5joIwuohjkapgM/R6lFmI9VUj8N/c5O9AxQAOQLgnDNPl5OQamUuOp9c5W0jLbYd/hrymPYBSKEi0wIDAQAB” ; —– DKIM mail1 for jackyhe.com


我們需要在DNS的管理界面中添加一個新的txt記錄。名字寫“mail1._domainkey”(txt文件中紅色部分,不同的selector就不同了)。值為txt文件中雙引號的內容(如藍色部分)。


然后,把mail1.private(這是密鑰)保存在服務器上的安全的目錄。如/etc/mail/dkim/keys。


(3)配置DKIM,DKIM的配置文件是dkim-filter.conf。里面有很多默認的設置。我們只要改下面的內容就可以了:


Domain                  jackyhe.com   ## 設置域名
ExternalIgnoreList      /etc/mail/dkim/trusted-hosts ## 設置可信任機器,如127.0.0.1


InternalHosts           /etc/mail/dkim/trusted-hosts


KeyFile                         /etc/mail/dkim/keys/mail1.private ##就是密鑰的保存位置


Selector                mail1 ##本機使用的selector的名字,比如mail1


LocalADSP               /etc/mail/dkim/local-adsp-rules ## 可在此文件中添加自己的ADSP規則(ADSP規則在下面說明)


Socket                  local:/var/run/dkim-milter/dkim.sock


(4)啟動DKIM,如 /usr/sbin/dkim-filter -x /etc/dkim-filter.conf


(5)在原來的SMTP服務端(如sendmail,postfix)上修改設置。如postfix中可添加如下設置:


smtpd_milters = unix:/var/run/dkim-milter/dkim.sock
non_smtpd_milters = unix:/var/run/dkim-milter/dkim.sock
milter_protocol = 2


重啟SMTP服務后看是否可以發郵件。如果在maillog中看到”DKIM-Signature” header added,就應該大功告成了。


試試發郵件給gmail.com的郵箱,然后在gmail中看看這郵件的郵件頭,看看有沒有找到dkim=pass。如果有就恭喜你了。


(6)最后說說什么是ADSP。在DKIM說明(http://www.dkim.org/specs/draft-ietf-dkim-ssp-04.html)中提到。我們可以有如下設置來限制沒有通過DKIM簽名而又用我們的域發出的郵件。


我們可以在DNS中添加一個新的TXT記錄,名稱是“_adsp._domainkey”,值是“dkim=all”。


“dkim=”后可有三個可選值:


unknow: 意思是從這個域發出的郵件可帶DKIM證書,也可不帶。


all: 意思是從這個域名發出的證書都應該帶DKIM證書的。


discardable: 意思是強烈建議接收郵件的對端把沒有DKIM證書或DKIM驗證失敗的郵件丟棄掉。


而之前提到的“LocalADSP”中的設置,就是在自己服務器上設置規定,在接收對方的郵件時不查詢DNS的ADSP記錄,而是按照自己的要求設置。


如果大家有疑問,可留意一起探討。


該文章在 2011/8/2 16:07:08 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved