Hiện nay một số nhà cung cấp dịch vụ mail như Yahoo, Gmail, Hotmail … thường sử dụng hai bản ghi là SPF( SPF Record – Sender Policy Framework) và DKIM( DomainKeys Identified Mail). Giống như các bài hướng dẫn trước. Hôm nay mình sẽ hướng dẫn thiết lập hai bản ghi này để tăng đảm bảo cho thư được gửi và giảm bớt việc bị đánh dấu là spam. Nhưng không có gì là chắc chắn 100% sau khi bạn làm đúng thì thư của bạn sẽ được các nhà cung cấp dịch vụ tự động lọc thư cho vào Inbox cả. Mình sẽ có bài hướng dẫn cách để tăng khả năng sống sót cho thư của bạn ở bài viết sau. Sau đây là hướng dẫn của mình.

I. Yêu cầu:
– Một server mail đã được cài đặt và cấu hình thành công có khả năng gửi và nhận mail.
– Một domain có quyền quản lý.
II. Ngay và luôn:
a. Thêm SPF Record:
– Bạn vào trang quản lý domain.
– Tạo một bản ghi mới với thông tin như sau.
Tên bản ghi( Host Records): @
Kiểu( Record Type): TXT
Địa chỉ( Address): v=spf1 a mx ip4:123.123.123.123 mx:example.com ?all
Lưu lại cấu hình và đợi nhà cung cấp tên miền cập nhật mới thông tin.

Học lập trình trực tuyến

b. Thêm DKIM Record:( Lưu ý: Hướng dẫn này là chạy trên Centos 6.5. Đối với các hệ điều hành khác tương tự nhưng thay đổi cho phù hợp là được.)
Cập nhật cho các chương trình đã cài đặt:

# yum update

Do openDKIM lưu thông tin cài đặt trên gói EPEL cho nên chúng ta cần cập nhật lại gói này.

# wget -P /tmp http://mirror.pnl.gov/epel/6/i386/epel-release-6-8.noarch.rpm
# rpm -Uvh /tmp/epel-release-6-8.noarch.rpm
# rm -f /tmp/epel-release-6-8.noarch.rpm 

 

Cài đặt opendkim.

# yum install opendkim

Thiết lập cho opendkim

# cp /etc/opendkim.conf{,.orig}
# vim /etc/opendkim.conf

Học lập trình trực tuyến nâng cao

Thay đổi nội dung tệp opendkim.conf giống nội dung sau:

AutoRestart Yes
AutoRestartRate 10/1h
LogWhy Yes
Syslog Yes
SyslogSuccess Yes
Mode sv
Canonicalization relaxed/simple
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
SignatureAlgorithm rsa-sha256
Socket inet:8891@localhost
PidFile /var/run/opendkim/opendkim.pid
UMask 022
UserID opendkim:opendkim
TemporaryDirectory /var/tmp

Tạo khoá công khai và khoá bí mật.

# mkdir /etc/opendkim/keys/mydomain.com
# opendkim-genkey -D /etc/opendkim/keys/mydomain.com/ -d mydomain.com -s default
# chown -R opendkim: /etc/opendkim/keys/mydomain.com
# mv /etc/opendkim/keys/mydomain.com/default.private /etc/opendkim/keys/mydomain.com/default 

Các bạn thay mydomain.com thành tên domain của bạn.

Thay đổi nội dung tệp /etc/opendkim/KeyTable:

default._domainkey.mydomain.com mydomain.com:default:/etc/opendkim/keys/mydomain.com/default

Têp /etc/opendkim/SigningTable:

*@mydomain.com default._domainkey.mydomain.com

Thêm domain vào tệp /etc/opendkim/TrustedHosts:

127.0.0.1
mydomain.com
host.mydomain.com

Phần này quan trọng nhất. Bạn lại vào phần quản lý domain tạo một bản ghi nhưng trước đó hãy mở tệp /etc/opendkim/keys/mydomain.com/default.txt.
Bạn cũng tạo tương tự như bản ghi SPF phía trên một bản ghi.
Tên là : default._domainkey
Kiểu: TXT
Nội dung địa chỉ là: “v=DKIM1; k=rsa;” “p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDApHRr7ZmXRaAB+RQRbP4VdMwIrIHIP18KFtXRsv/xpWc0Gix6ZXN13fcG03KNGKZo2PY+csPkGC5quDnH5V0JEhDZ78KcDWFsU6u4fr9ktVAdt6P7jWXjcyqdHOZ8+YN4cAeU4lRFNgQvdupIcByYwzPYMgBFHfJm9014HvRqhwIDAQAB”

Lưu ý: Đối với mỗi domain khác nhau thì chuỗi nội dung khác nhau vì thế các bạn copy đầy đủ bao gồm cả dấu( ” ).

Tiếp theo chúng ta sẽ thiết lập Postfix nhận openDKIM. Mở tệp /etc/postfix/main.cf.

smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
milter_protocol = 2

Khởi động lại dịch vụ gửi mail và opendkim.

# service opendkim start
# chkconfig opendkim on
# service postfix restart

Bạn đã hoàn thành việc cài đặt và thiết lập bản ghi cho mail server.

III. Kiểm tra:
Bạn có thể gửi mail đến địa chỉ mail: check-auth@verifier.port25.com để kiểm tra việc thiết lập có thành công hay chưa.
==========================================================
Summary of Results
==========================================================
SPF check: pass
DomainKeys check: neutral
DKIM check: pass
DKIM check: pass