happywxp 2013-05-29
本文配置还要参考:http://panyongzheng.iteye.com/blog/1879717
Postfix是MTA负责接收MUA传过来要发送到信件,以及和其他MTA传递信件和relay,用的是SMTP协定。
Dovecot是MDA,负责MUA收信。用的是POP3,POP3S,IMAP,IMAPS协定
Windows下的免费邮件服务器软件hMailServerhttp://dagai.net/hmailserver/
原文Centos6.4PostfixServer安裝設定教學:http://tonyhack.asuscomm.com/wordpress/?p=1326
使用Postfixdovecot配置简单的邮件系统http://www.centos.bz/2011/06/centos-install-setup-postfix/
Mail命令:
Linux下使用mail命令发送邮件http://www.mzone.cc/article/317.html
Linuxmail命令使用方法详解http://www.isstudy.com/linux/693.html
linuxmail收发邮件命令http://hi.baidu.com/_liucheng/item/28f2ff9b19e8fcd87b7f0194
CentOS6.2-DNS+Sendmail+Dovecot+openwebmail邮件服务器
DNS篇http://blog.chinaunix.net/uid-16607457-id-3311717.html
sendmail+dovecot篇http://blog.chinaunix.net/uid-16607457-id-3314705.html
openwebmail篇http://blog.chinaunix.net/uid-16607457-id-3317661.html这个工具很丑陋,在Fiefox和IE下面,惨不忍睹。
手把手让你实现postfix+extmail+mysql虚拟用户邮件体系http://www.5dmail.net/html/2011-8-25/2011825145611.htm
CentOS5.5x64上使用Postfix+Dovecot+MySQL搭建邮件服务器http://yyy3y.blog.51cto.com/3907806/718339
搭建PostfixAdmin用于管理postfix虚拟域、虚拟用户不在是难题http://linuxxx.blog.51cto.com/1824808/668673
需要安装PHP插件:
sudoyum-yinstallphp-mbstring
sudoyum-yinstallphp-imap
并下载:postfixadmin-2.3.6.tar.gz
进入setup.php安装,生成hashcode后,会重新修改config.inc.php一次,一共修改两次。
postfix+dovecot+postfixadmin+mysql架设邮件服务器http://www.5dmail.net/html/2010-7-22/2010722110835.htm
CentOS6.3下安装fail2ban防暴力破解工具http://www.myhack58.com/Article/48/66/2013/38127_5.htm
注意:
检查postfix是否支持虚拟用户postconf–m|grepmsyql如果出现mysql表示支持
Postfix安裝
安裝指令
sudoyum-yinstallpostfix//邮件服务器,会自动安装sendmail发送工具
sudoyum-yinstalldovecot*//安装收信工具dovecot
sudoyum-yinstallcyrus-imapd
CentOS5之前預設的MailServer服務是Sendmail,而在CentOS6後即是以Postfix當作預設的MailServer,Postfix比起Sendmail在設定上更容易上手,因此不需要像網路上其它的教學安裝system-switch-mail,因為system-switch-mail是用來將Sendmail切換成Postfix。
Postfix最主要的功能則是啟動SMTP的服務,也就是架設一台MTA(MailTransferAgent)。
Postfix設定
Postmail的主要設定都在”etc/postfix/main.cf”,編輯的方式如下
#vi/etc/postfix/main.cf
以下就來介紹要架設完一台MTA(也就是MailServer的SMTP服務)的相關設定
1.設定Hostname,Hostname即是我們的郵件伺服器的主機名稱,是由英文字母或數字所組成,比如www.google.com或mail.google.com就是一個Hostname。Postmail的Hostname設定如下
尋找”#myhostname=”字串,預設會看到”#myhostname=host.domain.tld”和”#myhostname=virtual.domain.tld”這二行字串
請在這二行後面增加以下的字串設定即可
#myhostname=host.domain.tld
#myhostname=virtual.domain.tld
myhostname=你的主機名稱#新增此行,約加在第77行
2.設定網域名稱(DomainName),主機名稱通常都是在建立在網域名稱之內,像是www.google.com則是網頁服務,mail.google.com則會是郵件主機服務,通常網域名稱都會是主機名稱(Hostname)去掉第一個掉包含前面的文字部份,比如說www.google.com的Domain則是google.com。以下則是Postfix的網域名稱設定方法
尋找”#mydomain=”字串,預設會看到”#mydomain=domain.tld”
新增一行如下
#mydomain=domain.tld
mydomain=你的網域名稱#新增此行,約加在第85行
注意,这里一定随便给一个带点的字符串,比如:test.oicp.net,那么本机的邮箱就是:[email protected],不能包含下划线等特殊字符。
3.設定OriginName,OriginName是我們的郵件位址在”@”後面的文字內容,比如像是[email protected],gmail.com就是我們的OriginName,而stnet253則是郵件擁有人的帳號名稱。以下為Postfix的OriginName的設定。
尋找”#myorigin=$mydomain”字串,將”#”移除,變成
#myorigin=$mydomain#刪除此行
myorigin=$mydomain#新增此行,約加在第100行
4.設定postfix的監聽介面,Postfix預設只會監聽來自於本機端的所傳出的封包,必須使用下列設定,才可以傳收所有來自於網路端的所有封包。
尋找”#inet_interfaces=all”字串,將”#”移除(表示此行Enable)。
後面的”inet_interfaces=localhost”字串,在最前面加上”#”(表示disable此行設定)
此步驟的設定內容整理如下
inet_interfaces=all#修改此行,約在第114行
#inet_interfaces=$myhostname
#inet_interfaces=$myhostname,locatlhost
#inet_interfaces=localhost#修改此行,約在第117行
5.修改Postfix的通訊協定,目前網路的協定主流有IPv4與IPv6,在大部份的情況下,我們都是利用IPv4在通訊的,如果你的MailServer沒有需要使用到IPv6,可以做以下的設定修改。
尋找”inet_protocols=all”字串,改成
inet_protocols=ipv4#約在第120行
6.設定能收收信件的主機名稱,Postfix預設只能收到設定的Hostname與DomainName以及本機端的信件,此步驟是再增加能收信件的網路名稱。
尋找”mydestination=$myhostname,localhost.$mydomain,localhost”字串,在最前面加入”#”(表示此行disable)。
將”#mydestination=$myhostname,localhost.$mydomain,localhost,mydomain”的”#”移除(表示此行Enable)。
#mydestination=$myhostname,localhost.$mydomain,localhost
#修改此行,約在第165行
mydestination=$myhostname,localhost.$mydomain,localhost,mydomain
#修改此行,約在第166行
7.設定信任的用戶端,當要寄信時,會參考此值,若非信任的用戶,則不會幫你的信件轉到其它的MTA主機上
尋找”#mynetworks=”,在”#mynetworks=hash:/etc/postfix/networks”這行後面加上
#mynetworks=hash:/etc/postfix/networks
mynetworks=127.0.0.0/8,192.168.1.0/24,hash:/etc/postfix/access
#加入此行,約在268行
8.規範可以relay的MTA主機位址,通常這個都直接設為mydestination
尋找”#relay_domains=$mydestination”,將”#”移除,變成
relay_domains=$mydestination#修改此行,約在第298行
9.設定郵件別名的路徑
檢查”alias_maps”設定是否為以下字串設定
alias_maps=hash:/etc/aliases#約在第388行
10.設定指定郵件別名表資料庫路徑
檢查”alias_database”設定是否為以下字串設定
alias_database=hash:/etc/aliases#約在第399行
在main.cf的設定整理如下:
myhostname=你的主機名稱#約在第77行
mydomain=你的網載名稱#約加在第85行
myorigin=$myhostname#約在第100行
inet_interfaces=all#約在第114行,117行要註解掉
inet_protocols=ipv4#約在第120行
mydestination=$myhostname,localhost.$mydomain,localhost,mydomain#約在第166行
mynetworks=127.0.0.0/8,192.168.1.0/24,hash:/etc/postfix/access#約在268行
relay_domains=$mydestination#約在第298行
alias_maps=hash:/etc/aliases#約在第388行
alias_database=hash:/etc/aliases#約在第399行
11.設定完成後,請在終端機下輸入以下二行指令(詳細請參考後面章節”設定郵件主機使用權限與過濾機制”及”郵件別名”)
#postmaphash:/etc/postfix/access
#postaliashash:/etc/aliases
12.重啟postfix就可以利用smtp的服務收發信件,在終端機視窗下輸入
#servicepostfixrestart
13.檢查SMTP服務是否開啟,如果有的話,輸入下列命列,會看到Port25正在監聽的狀態
#netstat-tlunp|grep':25'
14检查当前postfix配置是否有问题文件与目录的拥有权是否正确甚至帮你创建丢失的目录:
[root@mail~]#sudopostfixcheck
没有消息就是好消息
Postfix測試
1.寄信測試
此時我們已經可以利用此台主機使用smtp收送電子郵件了,利用mail指令來測試
mailroot@網域名稱
Subject:Test
Thisistestmail
.
EOT
2.收信測試
當我們從內部或外部寄信過來時,預設的郵件存放位址如下:
/var/spool/mail(或/var/mail)
從此目錄裡查看帳號名稱的檔案,我們所收發的信件都會存在這裡
待補
CentOS下mail命令http://hi.baidu.com/myweb2/item/53670eaedb02ed736cd4552e
在自己的账户下输入:mail
然后显示邮件的列表
会出现"&"
在后面输入一下参数,得到相应功能
&t7//阅读第7封信息,阅读时,按空格键就是翻页,按回车键就是下移一行
&d10//删除第10封信息
&d10-100//删除第10-100封信息
&top//显示当前指针所在的邮件的邮件头
&file//显示系统邮件所在的文件,以及邮件总数等信息
&x//退出mail命令平台,并不保存之前的操作,比如删除邮件
&q//退出mail命令平台,保存之前的操作,比如删除已用d删除的邮件,
修改端口
在master.cf里的非#号开头的第一行应该是smtpinetn-n--smtpd
这一行表示的是smtp的进程,和/etc/services里的
smtp25/tcpmail
smtp25/udpmail
相对应
再在后追加一行同样的进行,修改一下前面的名字,如
smtp2inetn-n--smtpd,
保存后,在/etc/services里也相应增加一个服务器进程端口号即可,如:
smtp226/tcpmail2
smtp226/udpmail2
保存后,reload不行,要restartpostfix就应该能同时启动25和26两个功能完全相同的端口。
OK了
openwebmail出现问题,是因为selinux没有关闭,或者没有配置好,所以没权限写入硬盘
增加用户:
useradd-gmailayu新增用户阿羽到mail组
passwdayu设置阿羽的密码
useradd-gmail-s/sbin/nologinyueyue新增用户月月到mail组且不可登陆shell
passwdyueyue给月月设置密码
useradd-gmaillaoshi新增用户老师到mail组
passwdlaoshi设置老师密码