iredmail
1.邮件服务器一定要有一个合法注册过的主机名才可以
2.由于目前收集端的邮件服务器会针对邮件来源的IP进行反解,而如果你的网络环境是由拨号取得而非固定的IP时,该种IP在ISP方面通常主动的以xxx.dynamic.xxx之类的主机名来管理,偏偏这样的主机名会被主要的大型邮件服务器视为垃圾邮件,所以,如果你想架设一台Mail Server的话,请务必向你的上层ISP申请反解的对策,不要再使用默认的反解主机名。
3.MX标志一定要设置正确,否则你的邮件将可能会被直接被MX服务器中踢掉,当我们没有上层邮件服务器时,为了要设置MX,你可以指定MX为自己,利用自己当MX服务器。(Mail eXchanger)
4.MUA(Mail User Agent):Outlook Express等,主要的功能是收取邮件主机的电子邮件,提供用户 浏览与编写邮件。
5.MTA(Mail Transfer Agent):功能接收邮件,转发邮件。
6.MDA(Mail Delivery Agent):邮件传送代理人,分析由MTA所收到的邮件表头或内容等数据,来决定这封邮件的去向,过滤垃圾邮件,自动回复。
7.Mailbox:取得邮件
8.MRA(Mail Retrieval Agent):用户可以通过MRA服务器提供的邮政服务协议POP来接收自己的邮件,也可以通过IMAP协议将自己的邮件保留在邮件主机上面,并进一步进行建立邮件数据文件夹等高级工作。MUA通过POP3的协议连接到MRA的Port110。
9.POP3协议会下载完全部的邮件,但会将下载完的邮件从服务器删除
10.要架设一台可以使用MUA进行收发邮件的MTA、MRA服务器,至少需要启动SMTP及POP3这两个协议才行。
11.加密:POP3s、IMAPs、SMTPs(实际上没有用)
12.如果所有的人都可以通过这一台MTA帮忙进行Relay时,这个情况称之为Open Relay的操作。
13.认证机制常见的有SMTP邮件谁机制,以及SMTP After POP这两种
14.标题分析通过后,你的邮件内容才会开始上传到主机的队列,然后通过MDA来处理改邮件的流向,而不是将邮件完整地传送到主机后才开始分析。
15.在暂不考虑Access以及MDA的分析机制中,一台MTA想要正确地收发邮件时,电子邮件必须要符合以下需求。
收信:1.发信端必须符合$inet_interfaces
2.收件人主机名符合$mydestination或$virtual_maps
转发:1.发信端必须符合$inet_interfaces
2.发信来源必须为$mynetworks的设置;发信来源或邮件标题的收件人主机名符合 $relay_domains的设置内容。
16.当主机收到一封邮件且这封邮件的目标是自己,并且也符合mydestination的设置时,该邮件就会被接收而不必验证客户端是否来自于mynetworks了。
[root@www ~]# echo "fox" | mail -s "from szm" szm
[szm@www root]$ cat /var/spool/mail/szm
X-Original-To: szm
#收件人
Received: by www.Centosszm.com (Postfix, from userid 0)
id 36BA32CFE; Tue, 16 Apr 2013 10:18:52 +0800 (CST)
Date: Tue, 16 Apr 2013 10:18:52 +0800
#收邮件日期
Subject: from szm
#邮件标题
User-Agent: Heirloom mailx 12.4 7/29/08
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
fox
软件结构:
/etc/postfix/main.cf
#主配置文件
/etc/postfix/master.cf
#程序工作参数配置
/etc/postfix/access(利用Postmap处理) #
/etc/aliases(利用Postalias或Newaliases)
/usr/sbin/postconf(列出配置,要列出非默认配置用postconf -n)
/usr/sbin/postfix(主文件)
/usr/sbin/postalias(转换为数据库文件)
/usr/sbin/postcat(查看队列邮件内容)
/usr/sbin/postmap(转换Access文件的数据库)
/usr/sbin/postqueue(postqueue -p==mailq)
[root@www ~]# postfix check
postfix: warning: valid_hostname: misplaced delimiter: www.Centosszm.com.
postfix: fatal: unable to use my own hostname
[root@www ~]# vim /etc/postfix/main.cf
myhostname = www.Centosszm.com
#注意,这里后面没有.
[root@www ~]# netstat -tlnp | grep 25
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 8555/master
[root@www ~]# vi /etc/postfix/main.cf
#支持变量$
#支持变量两个以上的数据
#mydestination = $myhostname, localhost.$mydomain, localhost
#支持设置换行(第一行最后有逗号,下一行开始空格)
#若重复设置某一项目,则以较晚出现的设置值为准
myhostname = www.Centosszm.com
#mydomain = domain.tld
#自动设置成主机名第一个点后面的内容
#myorigin = $myhostname
#Mail from 的项目自动添加
#inet_interfaces = all
#监听所有,默认人监听127.0.0.1
inet_protocols = all
#监听协议(ipv4...)
#能够收信的主机名,可以写成外部文件的形式,如果你的DNS里面设置有MX标志的话,那么名字要写入下面这里才行。
mydestination = $myhostname, localhost.$mydomain, localhost
#网络类型,class,subnet,host可以不设,下面的设置会覆盖上面
#mynetworks_style = class
#可以Relay,转发的网络
#mynetworks = 168.100.189.0/28, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
#可以帮忙Relay的下一台MTA主机地址,默认设置如下
#relay_domains = $mydestination
#alias_maps = dbm:/etc/aliases
[root@www ~]# grep -v [#] /etc/postfix/main.cf
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
#设置如下
myhostname = www.Centosszm.com
myorigin = $myhostname
inet_interfaces = all
inet_protocols = ipv4
mydestination = $myhostname, localhost.$mydomain, localhost, linux.Centosszm.com, ftp.Centosszm.com
unknown_local_recipient_reject_code = 550
#设置如下
mynetworks = 192.168.179.0/14, 127.0.0.0/8, hash:/etc/postfix/access
relay_domains = $mydestination
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.6.6/samples
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
[root@www ~]# postmap hash:/etc/postfix/access
[root@www ~]# postalias hash:/etc/aliases
[root@www ~]# postfix start
postfix/postfix-script: starting the Postfix mail system
[root@www ~]# postfix status
postfix/postfix-script: the Postfix mail system is running: PID: 12332
postfix/postfix-script: the Postfix mail system is running: PID: 12332
[root@www ~]# netstat -tulnp | grep :25
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 12332/master
设定邮件主机权限与过滤机制:/etc/postfix/access
[root@www ~]# vim /etc/postfix/access
192.168.179.2 OK
.edu.tw OK
av.com REJECT
192.168.2. REJECT
[root@www ~]# postmap hash:/etc/postfix/access
[root@www ~]# ll /etc/postfix/access*
-rw-r--r--. 1 root root 19641 Apr 16 21:23 /etc/postfix/access
-rw-r--r--. 1 root root 12288 Apr 16 21:24 /etc/postfix/access.db
#生成这个文件
#上面这个方法的好外是不用重启Postmail
设定邮件别名:(邮件的代理接收人)
[root@www ~]# vim /etc/aliases
bin: root
daemon: root
adm: root
lp: root
sync: root
shutdown: root
halt: root
...................
smb1: szm
[root@www ~]# postalias hash:/etc/aliases
[root@www ~]# ll /etc/aliases*
-rw-r--r--. 1 root root 1523 Apr 16 21:28 /etc/aliases
-rw-r--r--. 1 root root 12288 Apr 16 21:28 /etc/aliases.db
#生成这个文件
#让一般账号可接收root的邮件,root和szm都有一份邮件
[root@www ~]# vim /etc/aliases
root: root,szm
[root@www ~]# postalias hash:/etc/aliases
配置组寄信功能:
[root@www ~]# vim /etc/aliases
student100: std001,std002,std003,std004,.....
#组名是不存在的
[root@www ~]# postalias hash:/etc/aliases
邮件抄送:
[root@www ~]# vim /etc/aliases
[root@www ~]# postalias hash:/etc/aliases
普通用户邮件转递:~/.forward
[szm@www ~]$ vim .forward
szm
root
#抄送
[szm@www ~]$ chmod 644 .forward
查看邮件队列信息:postqueue、mailq
邮件发送失败警告:5分钟、4小时、5天后退回
[szm@www ~]$ postqueue -p
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
9B60B2CFA 14157 Tue Apr 16 10:06:23 MAILER-DAEMON
(Host or domain name not found. Name service error for name=Centosszm.test.com type=MX: Host not found, try again)
-- 14 Kbytes in 1 Request.
查看队列邮件:
[root@www postfix]# postcat defer/9/9B60B2CFA
postcat: warning: defer/9/9B60B2CFA: input is not a valid queue file
[root@www postfix]# postcat deferred/9/9B60B2CFA
把这个邮件立即寄出去有两种方法:
[root@www postfix]# /etc/init.d/postfix restart
[root@www postfix]# postfix flush
防火墙设置:
[root@www postfix]# iptables -A INPUT -p tcp --dport 25 --sport 1024:65534 -j ACCEPT
MRA服务器设定:(无加密)
[root@www postfix]# yum install dovecot
[root@www ~]# vim /etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp
[root@www ~]# netstat -tulnp | grep dovecot
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 13149/dovecot
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 13149/dovecot
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 13149/dovecot
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 13149/dovecot
tcp 0 0 :::993 :::* LISTEN 13149/dovecot
tcp 0 0 :::995 :::* LISTEN 13149/dovecot
tcp 0 0 :::110 :::* LISTEN 13149/dovecot
tcp 0 0 :::143 :::* LISTEN 13149/dovecot
加密的POP3s/IMAPs设定:
[root@www certs]# make dovecot.pem
#产生证书
umask 77 ; \
PEM1=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
PEM2=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
/usr/bin/openssl req -utf8 -newkey rsa:2048 -keyout $PEM1 -nodes -x509 -days 365 -out $PEM2 -set_serial 0 ; \
cat $PEM1 > dovecot.pem ; \
echo "" >> dovecot.pem ; \
cat $PEM2 >> dovecot.pem ; \
rm -f $PEM1 $PEM2
Generating a 2048 bit RSA private key
...................+++
................+++
writing new private key to '/tmp/openssl.NnRfEr'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:02
State or Province Name (full name) []:GD
Locality Name (eg, city) [Default City]:GZ
Organization Name (eg, company) [Default Company Ltd]:szmO
Organizational Unit Name (eg, section) []:szm
Common Name (eg, your name or your server's hostname) []:shen
[root@www certs]# mv dovecot.pem /etc/pki/dovecot/
[root@www certs]# restorecon -Rv /etc/pki/dovecot/
restorecon reset /etc/pki/dovecot/dovecot.pem context unconfined_u:object_r:cert_t:s0->system_u:object_r:dovecot_cert_t:s0
[root@www certs]# vim /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = yes
[root@www certs]# vim /etc/dovecot/conf.d/10-ssl.conf
ssl = required
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem
[root@www certs]# vim /etc/dovecot/conf.d/10-master.conf
service imap-login {
inet_listener imap {
#port = 143
port = 0
#修改
}
inet_listener imaps {
#port = 993
#ssl = yes
}
service pop3-login {
inet_listener pop3 {
#port = 110
port = 0
#修改
}
inet_listener pop3s {
#port = 995
#ssl = yes
}
}
[root@www certs]# /etc/init.d/dovecot restart
Stopping Dovecot Imap: [ OK ]
Starting Dovecot Imap: [ OK ]
[root@www certs]# netstat -tulnp | grep dovecot
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 13307/dovecot
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 13307/dovecot
tcp 0 0 :::993 :::* LISTEN 13307/dovecot
tcp 0 0 :::995 :::* LISTEN 13307/dovecot
#处理额外的Mail_location设置值,很重要,否则网络收信会失败
[root@www certs]# vim /etc/dovecot/conf.d/10-mail.conf
mail_location = mbox:~/mail:INBOX=/var/mail/%u
POPs/Imaps防火墙做设置:
[root@www certs]# iptables -A INPUT -p tcp --dport 993 --sport 1024:65534 -j ACCEPT
[root@www certs]# iptables -A INPUT -p tcp --dport 995 --sport 1024:65534 -j ACCEPT
MUA软件:客户端的收发邮件软件
Subject: test
this is content
bye
.
EOT
[root@www certs]# mail -s "mail bashrc" szm < /home/szm/.bashrc
#su - username 携带环境变量
#su username 只是切换用户,但是环境变量还是之前用户的
|
[szm@www certs]$ su - szm
[szm@www ~]$ mail
Heirloom Mail version 12.4 7/29/08. Type ? for help.
"/var/spool/mail/szm": 3 messages 3 new
>N 1 root Tue Apr 16 10:18 18/570 "from szm"
N 2 root Tue Apr 16 22:55 19/600 "test"
N 3 root Tue Apr 16 22:57 25/693 "mail bashrc"
依次读取邮件:Enter
显示标题:h
回复邮件:r
删除邮件:d d1-3
存储邮件:s s 1 mail.txt
离开邮件:q x(x是保存退出,q是不保存退出)
请求协助:help
查看保存为文件的邮件
[szm@www ~]$ mail -f mail.txt
[szm@www ~]$ cat mail.txt
以“添加附件”的方式寄信
[root@www szm]# yum install sharutils
[root@www szm]# uuencode /etc/hosts myhosts | mail -s 'test encode' szm
uuencode [附件] [
附件名称] | mail -s '标题' 内容
[root@www szm]# su - szm
[szm@www ~]$ mail
Heirloom Mail version 12.4 7/29/08. Type ? for help.
"/var/spool/mail/szm": 3 messages 1 new
1 root Tue Apr 16 22:55 20/611 "test"
2 root Tue Apr 16 22:57 26/704 "mail bashrc"
>N 3 root Tue Apr 16 23:10 25/879 "test encode"
& 3
Message 3:
X-Original-To: szm
Date: Tue, 16 Apr 2013 23:10:07 +0800
Subject: test encode
User-Agent: Heirloom mailx 12.4 7/29/08
Content-Type: text/plain; charset=us-ascii
Status: R
begin 644 myhosts
M,3(W+C`N,"XQ"7=W=RY#96YT;W-S>FTN8V]M+@EW=W<);&]C86QH;W-T+FQO
M8V%L9&]M86EN"6QO8V%L:&]S=`HZ.C$)=W=W+D-E;G1O<W-Z;2YC;VTN"7=W
M=PEL;V-A;&AO<W0V+FQO8V%L9&]M86EN-@EL;V-A;&AO<W0V"C$Y,BXQ-C@N
M,3<Y+C<):'1M;"YS>FTN8V]M"C$Y,BXQ-C@N,3<Y+C<)=W=W+G-Z;2YC;VT*
:,3DR+C$V."XQ-SDN-PEF='`N<WIM+F-O;0H`
`
end
& s 3 test_encode #保存邮件
"test_encode" [New file] 27/900
& exit
[szm@www ~]$ uudecode test_encode -o decode
[szm@www ~]$ ll *code*
-rw-r--r--. 1 szm szm 206 Apr 16 23:12 decode
-rw-rw-r--. 1 szm szm 889 Apr 16 23:12 test_encode
[szm@www ~]$ cat decode
127.0.0.1 www.Centosszm.com. www localhost.localdomain localhost
::1 www.Centosszm.com. www localhost6.localdomain6 localhost6
192.168.179.7 html.szm.com
192.168.179.7 www.szm.com
192.168.179.7 ftp.szm.com
让附件可以通过POP3/IMAP之类的协议去读取外部的邮件;
[root@www szm]# yum install mutt
#副本:收件人知道被抄送
#抄送:收件人不知道被抄送
#mutt [-a 附件] [-i 正文] [-b 抄送] [-c 副本] [-s 标题] E-mail地址
1.在VIM下编辑好
2.y发送
注意发送附件的格式:
以mutt来读不同通信协议的邮箱:
保存邮件:s
[root@www szm]# chmod a+x /home/szm/
[root@www szm]# mutt -f imaps://www.Centosszm.com.
这样就可以看到szm这个用户的邮件了
邮件服务器高级设定:
Postgrey:若发信来源同一封信第一次寄来时,Postgrey默认会过滤他,并且将来源地址记录起来,在约5分钟后,若该邮件又传来一次时,则该邮件会被收下来。如此一来可以杜绝非法邮件服务器单次发送的问题。但对于你确定合法的主机则可以开放所谓的“白名单”。
http://postgrey.schweikert.ch/
http://www.postfix.org/SMTPD_POLICY_README.html
安装问题:因为是Perl写的,所以要加入很多相关的Perl模块才行。
Berkeley DB:包括db4,db4-utils,db4-devel...
Perl:yum install perl
perl模块:perl-Net_DNS是Centos本身有提供的,没有的可以到这里下载:http://rpmfind.net
RPMYUm源:
http://wiki.centos.org/AdditionalResources/Repositories/RPMForge
|
[root@www share]# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
[root@www share]# rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm
[root@www ~]# yum install postgrey
Postgrey是本机的Socket服务而非网络服务。
[root@www ~]# /etc/init.d/postgrey start
Starting postgrey: [ OK ]
[root@www ~]# netstat -anlp | grep ostgrey
unix 2 [ ACC ] STREAM LISTENING 220471 15929/socket /va r/spool/postfix/postgrey/socket
#/va r/spool/postfix/postgrey/socket是用来作为程序之间的数据交换,这也是Postfix要将邮件交给Postgrey处理的一个相当重要的接口。
[root@www ~]# vim /etc/postfix/main.cf
smtpd_recipient_restrictions =
permit_mynetworks,
reject_unknown_sender_domain,
#不明来源
reject_unknown_recipient_domain,
#不明目标
reject_unauth_destination,
#不信任目标
check_policy_service unix:/var/spool/postfix/postgrey/socket
#启用postgrey
#把原来的300秒改为60秒
[root@www ~]# vim /etc/sysconfig/postgrey
OPTIONS="--unix=/var/spool/postfix/postgrey/socket --delay=
60"
[root@www ~]# /etc/init.d/postfix restart
[root@www ~]# /etc/init.d/postgrey restart
添加白名单:
[root@www szm]# vim /etc/postfix/postgrey_whitelist_clients
www.Centosszm.com
黑名单过滤机制:
http://cbl.abuseat.org/
smtpd_recipient_restrictions =
permit_mynetworks,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_unauth_destination,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client cblless.anti-spam.org.cn,
reject_rbl_client sbl-xbl.spamhaus.org,
check_policy_service unix:/var/spool/postfix/postgrey/socket
smtpd_client_restrictions =
reject_rbl_client cbl.abuseat.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client cblless.anti-spam.org.cn,
reject_rbl_client sbl-xbl.spamhaus.org,
#拒绝黑名单客户端
smtpd_sender_restrictions = reject_non_fqdn_sender,
reject_unknown_sender_domain
#此项目在过滤不明的发件人主机网络。与DNS有关系
查找自己的主机是否在黑名单中http://cbl.abuseat.org/lookup.cgi
测试自己的主机是否有Open Relay
http://rs.edu.tw/tanet/spam.html
基础的邮件过滤机制:
[root@www szm]# vim /etc/postfix/main.cf
header_checks = regexp:/etc/postfix/header_checks
body_checks = regexp:/etc/postfix/body_checks
regexp是正则表达式的意思
[root@www szm]# touch /etc/postfix/body_checks
[root@www szm]# /etc/init.d/postfix restart
http://linux.vbird.org/linux_server/0380mail/header_checks
http://linux.vbird.org/linux_server/0380mail/body_checks
语法检查:
[root@www ~]# postmap -q - regexp:/root/body_checks < /root/body_checks
非信任来源的Relay:开放SMTP身份认证
Cyrus SASL(http://cyrusimap.web.cmu.edu/)是Cyrus simple Authentication and Security layer的缩写,它是一个辅助的软件。在SMTP认证方面,Cyrus主要提供了saslauthd这个服务来进行账号密码的比对操作
直接通过Linux自己的账号密码来进行SMTP谁功能:
1)安装cyrus-sasl、cyrus-sasl-plain、cyrus-sasl-md5
2)启动saslauthd这个服务
3)设置Main.cf让postfix可以与saslauthd联系
4)客户端必须要寄信时设置邮件主机认证功能
查看支持的认证:
[root@www ~]# saslauthd -v
saslauthd 2.1.23
authentication mechanisms: getpwent kerberos5 pam rimap shadow ldap
[root@www ~]# vim /etc/sysconfig/saslauthd
MECH=pam
[root@www ~]# /etc/init.d/saslauthd start
告知Cyrus使用来提供SMTP服务的程序为saslauthd才行
[root@www ~]# vim /etc/sasl2/smtpd.conf
log_level:3
pwcheck_method: saslauthd
#选择什么服务来负责密码对比
mech_list: plain login
#支持的机制有哪些
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
#重点是这里,注意顺序
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_unauth_destination,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client cblless.anti-spam.org.cn,
reject_rbl_client sbl-xbl.spamhaus.org,
check_policy_service unix:/var/spool/postfix/postgrey/socket
smtpd_client_restrictions =
reject_rbl_client cbl.abuseat.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client cblless.anti-spam.org.cn,
reject_rbl_client sbl-xbl.spamhaus.org,
smtpd_sender_restrictions = reject_non_fqdn_sender,
reject_unknown_sender_domain
#启动SSL认证,启动后会加载cyrus sasl的函数库,而该函数库会依据/etc/sasl2/smtpd.conf的设置来链接到正确的管理员与密码的服务
smtpd_sasl_auth_enable = yes
#不想让匿名用户可以登录使用SMTP的Relay功能
smtpd_sasl_security_options = noanonymous
#针对早期非正规MUA的设置项目。
broken_sasl_auth_clients = yes
[root@www ~]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 www.Centosszm.com ESMTP Postfix
ehlo localhost
#
250-www.Centosszm.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
#
221 2.0.0 Bye
Connection closed by foreign host.
[root@www ~]# tail -n 100 /var/log/maillog | grep PLAIN
非固定IP邮件服务器的福音:relayhost
前提:
1)需要一个合法的主机名,若要省钱,可以使用DDNS来处理;
2)你上层的ISP所提供的MTA必须要有提供你所在IP的Relay权限。
你不能使用自定义的内部DNS架构了,因为所有Relay的信都会被送至ISP的MTA。
[root@www ~]# vim /etc/postfix/main.cf
relayhost = ms1.hinet.net
[root@www ~]# /etc/init.d/postfix restart
[root@www ~]# tail -n 20 /var/log/messages
#这里可以看到邮件是通过上层ISP来转发的
单封邮件大小限制:
message_size_limit = 40000000
#40M
[root@www ~]# /etc/init.d/postfix reload
[root@www ~]# vim /etc/postfix/main.cf
mailbox_size_limit=1000000000
#每个邮件账户10G/var/spool/mail/account
[root@www ~]# /etc/init.d/postfix reload
发件备份:SMTP自动转发一份到备份文件夹
[root@www ~]# vim /etc/postfix/main.cf
[root@www ~]# /etc/init.d/postfix reload
配置文件权限问题:权限错误不能启动Postfix
644 /etc/aliases
系统队列目录:/var/spool/mqueue或/var/spool/postfix仅允许系统读取700
备份资料:
/etc/passwd,/etc/shadow/,/etc/group
/etc/mail,/etc/postfix/
/etc/aliases
/home
/var/spool/mail,/var/spool/postfix