新聞中心
部署DNS服務(wù)器
postfix根據(jù)域名和地址做一個(gè)MX記錄,A記錄,PTR記錄(一般在互聯(lián)網(wǎng)上郵件服務(wù)器都要反解,沒(méi)有PTR記錄會(huì)認(rèn)為是垃圾郵件)

成都創(chuàng)新互聯(lián)專(zhuān)注于黃龍企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開(kāi)發(fā),商城系統(tǒng)網(wǎng)站開(kāi)發(fā)。黃龍網(wǎng)站建設(shè)公司,為黃龍等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站開(kāi)發(fā),專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
$ service iptables stop
$ chkconfig iptables on
$ setenforce 0
$ hostname mail.ywnds.com
$ echo "127.0.0.1 mail.ywnds.com" >> /etc/hosts
$ yum install bind bind-utils bind-libs
配置DNS
$ cat /etc/named.conf
options {
listen-on port 53 { any; };
directory "/var/named";
allow-query { any; };
recursion yes;
{
zone "ywnds.com" IN {
type master;
file "ywnds.com";
};
#include "/etc/named.root.key";
PS:添加和修改以上內(nèi)容即可。
$ cat /var/named/ywnds.com
$TTL 1D
@ IN SOA ns.ywnds.com. root.ywnds.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS ns
ns IN A 192.168.60.10
@ IN MX 10 smtp
smtp IN A 192.168.60.10
pop3 IN A 192.168.60.10
mail IN A 192.168.60.10
$ service named restart
$ chkeconfig named on
postfix主配置文件添加以下內(nèi)容
postfix主配置文件進(jìn)行模塊化了,其中:
/etc/postfix/main.cf:這個(gè)文件保存全局配置信息,所有進(jìn)程都會(huì)用到,除非這些配置在 master.cf 文件中被重新設(shè)置了。
/etc/postfix/master.cf:這個(gè)文件保存了額外的進(jìn)程運(yùn)行時(shí)環(huán)境參數(shù),在 main.cf 文件中定義的配置可能會(huì)被本文件的配置覆蓋掉。
在配置文件中所有的參數(shù)都必須頂格寫(xiě)不然就會(huì)當(dāng)做是上一行參數(shù)的續(xù)寫(xiě)。另外postfix大部分配置文件都進(jìn)行默認(rèn)化處理了,可以使用postconf -d進(jìn)行查看。
$cat /etc/postfix/main.cf
inet_protocols = all
inet_interfaces = 192.168.60.10,127.0.0.1
myhostname = mail.ywnds.com
mydomain = ywnds.com
myorigin = $mydomain
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 127.0.0.0/8
message_size_limit = 20485760
mailbox_size_limit = 5097152000
show_user_unknown_table_name = no
bounce_queue_lifetime = 1d
maximal_queue_lifetime = 1d
home_mailbox = Maildir/
#home_mailbox = Mailbox
#mailbox_command = /some/where/procmail
參數(shù)解釋?zhuān)?/p>
inet_protocols = all
#指定協(xié)議。
inet_interfaces = 192.168.60.10,127.0.0.1
#指定postfix系統(tǒng)監(jiān)聽(tīng)的網(wǎng)絡(luò)接口。
myhostname = mail.ywnds.com
#指定主機(jī)名。
mydomain = ywnds.com
#指定域名,默認(rèn)情況下postfix將myhostname的第一部分刪除而作為mydomain的值。
myorigin = $mydomain
#用來(lái)自動(dòng)補(bǔ)全本域用戶(hù),用來(lái)指明發(fā)件人所在的域名,即做發(fā)件地址偽裝。
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#這里定義了Postfix接收郵件時(shí)的收件人域名,即Postfix要接收哪些域名的郵件,不在此區(qū)域內(nèi)的都算是中繼郵件,如果不加$mydomain的話(huà)那么就不允許收本域內(nèi)郵件。
mynetworks = 127.0.0.0/8
#根據(jù)網(wǎng)絡(luò)地址中繼,默認(rèn)給你所在的整個(gè)網(wǎng)絡(luò)中繼,postfix系統(tǒng)根據(jù)其值來(lái)區(qū)別用戶(hù)是遠(yuǎn)程的還是本地的,這里設(shè)置只給本機(jī)中繼。
message_size_limit = 20485760
mailbox_size_limit = 5097152000
show_user_unknown_table_name = no
#郵件大小限制為20M,郵箱大小限制為5G。
bounce_queue_lifetime = 1d
maximal_queue_lifetime = 1d
#隊(duì)列超時(shí)限制為1天。
home_mailbox = Maildir/
home_mailbox = Mailbox
# 郵箱投遞方式有兩種:一種是Mailbox方式,即同一個(gè)用戶(hù)的所有郵件內(nèi)容存儲(chǔ)為單個(gè)文件,通常保存在/var/spool/mail/目錄下文件名與用戶(hù)名相同(Postfix默認(rèn)使用);第二種是Maildir方式,即使用目錄結(jié)構(gòu)來(lái)存儲(chǔ)用戶(hù)的郵件內(nèi)容每一個(gè)用戶(hù)使用一個(gè)文件夾,每封郵件都作為一個(gè)獨(dú)立的文件存放。Maildir方式的存取速度和效率要好一些對(duì)于管理郵件內(nèi)容頁(yè)更加方便。
mailbox_command = /some/where/procmail
#這里可以配置MDA使用procmail方式(postfix默認(rèn)的投遞代理)。
注意問(wèn)題
1、在postfix的配置文件中,參數(shù)行和注釋行是不能處在同一行中的;
2、任何一個(gè)參數(shù)的值都不需要加引號(hào),否則,引號(hào)將會(huì)被當(dāng)作參數(shù)值的一部分來(lái)使用;
3、每修改參數(shù)及其值后執(zhí)行 postfix reload 即可令其生效;但若修改了inet_interfaces,則需重新啟動(dòng)postfix;
4、如果一個(gè)參數(shù)的值有多個(gè),可以將它們放在不同的行中,只需要在其后的每個(gè)行前多置一個(gè)空格即可;postfix會(huì)把第一個(gè)字符為空格或tab的文本行視為上一行的延續(xù);
SMTP協(xié)議發(fā)送郵件命令
Linux中Postfix郵件發(fā)送配置(三)Linux中Postfix郵件發(fā)送配置(三)
SMTP狀態(tài)碼:
1xx:純信息
2xx:正確
3xx:上一步操作尚未完成,需要繼續(xù)補(bǔ)充
4xx:暫時(shí)性錯(cuò)誤
5xx:永久性錯(cuò)誤
SMTP協(xié)議非常簡(jiǎn)單,簡(jiǎn)單到允許任何用戶(hù)發(fā)送郵件同時(shí)也允許發(fā)送到任何用戶(hù)。在發(fā)件人(MAIL FROM)哪里可以隨意指定地址。但是收件人(RCPT TO)可以發(fā)給本域內(nèi)用戶(hù)也可以通過(guò)中繼發(fā)送給其他域用戶(hù)。如163或QQ郵箱。但是一般公網(wǎng)郵箱都是需要進(jìn)行發(fā)件人域名反向解析,如果能解析就接收郵件,不能解析就丟失郵件。如果全部解析就有點(diǎn)太苛刻了,也可以針對(duì)部分域名進(jìn)行解析。不信你可以把發(fā)件人改為xxx@taobao.com試試你的收件人還能不能收到郵件。(如果輸入錯(cuò)誤信息可以按Ctrl加退格鍵即可)
Postfix默認(rèn)允許本機(jī)和本機(jī)所在網(wǎng)絡(luò)的所有主機(jī)都允許中繼,所以可以發(fā)給其他域郵件。但是由于我們上面是用來(lái)了指令“mynetworks = 127.0.0.0/8”表示只給本機(jī)中繼。所以其他主機(jī)是無(wú)法發(fā)送郵件給其他域的,如下圖:
Linux中Postfix郵件發(fā)送配置(三)Linux中Postfix郵件發(fā)送配置(三)
注意:127.0.0.1跟192.168.60.10雖然都能訪(fǎng)問(wèn)本機(jī),但它們兩的意義不同,127.0.0.1是在本機(jī)內(nèi)部,而192.168.60.10是通過(guò)網(wǎng)卡的。另外查看郵件服務(wù)器的日志信息在/var/log/maillog
創(chuàng)建兩個(gè)郵箱測(cè)試用戶(hù)并給密碼(密碼也同用戶(hù)名)
$ useradd -s /sbin/nologin openstack
$ useradd -s /sbin/nologin hadoop
郵件別名
郵件別名可以把發(fā)送給一個(gè)用戶(hù)的郵件轉(zhuǎn)給另外一個(gè)用戶(hù),可以在/etc/aliases文件中可以定義用戶(hù)別名格式如下:
Openstack: root
表示所有發(fā)給Openstack用戶(hù)的郵件,都發(fā)送給root用戶(hù)。但是Postfix不會(huì)使用這個(gè)文件因?yàn)樵谖谋疚募袡z索太慢了,所以需要通過(guò)hash編碼轉(zhuǎn)換為另外一種格式/etc/aliases.db(postfix支持hash格式),而newaliases命令就可以進(jìn)行它們之間的相互轉(zhuǎn)碼的,直接執(zhí)行命令newaliases即可。
郵件隊(duì)列
Postfix 維護(hù)兩個(gè)隊(duì)列:未決郵件隊(duì)列(pending mails queue)和等待郵件隊(duì)列(deferred mail queue)。等待隊(duì)列包含了暫時(shí)發(fā)送失敗、需要重新發(fā)送的郵件,Postfix 會(huì)定期重發(fā)(默認(rèn)5分鐘,可自定義設(shè)置)。
其實(shí) Postfix 維護(hù)5個(gè)隊(duì)列:
輸入隊(duì)列,郵件進(jìn)入Postfix系統(tǒng)的第一站;
活動(dòng)隊(duì)列,qmgr 將輸入隊(duì)列的郵件移到活動(dòng)隊(duì)列;
等待隊(duì)列,保存暫時(shí)不能發(fā)送出去的郵件;
故障隊(duì)列,保存受損或無(wú)法解讀的郵件;
保留隊(duì)列,將郵件無(wú)限期留在 Postfix 隊(duì)列系統(tǒng)中;
列出郵件隊(duì)列
$ postqueue -p
刪除所有隊(duì)列郵件
$ postsuper -d ALL deferred
刪除所有郵件
stsuper -d ALL
PS:發(fā)送一份郵件一般也可使用tail /var/log/maillog查看郵件隊(duì)列日志信息,如“status=sent”表示郵件發(fā)送成功,而“status=deferred”表示郵件在等待隊(duì)列。
標(biāo)題名稱(chēng):Linux下安裝Postfix郵件發(fā)送配置(三)
鏈接地址:http://www.dlmjj.cn/article/dpcosds.html


咨詢(xún)
建站咨詢(xún)
