您的位置:首页 >fedora 7下配置postfix邮件系统
发布于2026-04-21 阅读(0)
扫一扫,手机访问
搞懂电子邮件的工作原理,其实就像拆解一个接力赛跑。整个过程离不开三个关键角色:MUA、MTA和MDA。
先说说MUA,也就是邮件用户袋里。它就是你电脑上用来收信和发信的那个软件,比如大家熟悉的Outlook Express。它是你与邮件世界直接对话的窗口。
那么,信件在路上是怎么“跑”的呢?这就轮到MTA,也就是邮件传输袋里出场了。你可以把它理解成邮局的中转站,或者干脆就叫它邮件服务器。无论是你要寄出的信,还是别人寄给你的信,都得经过它来传递。它的工作主要有三块:第一,判断并发送你寄出的信(是内部邮件就直接转交,是外部邮件就发往目的地的MTA);第二,接收从外部主机发来的信件;第三,乖乖等着你的MUA把属于你的信取走。
信件到了目的地的“邮局”后,最后一步交给谁?那就是MDA,邮件投递袋里。它的任务很专一:负责把MTA接收下来的信件,准确无误地分拣并投递到各个用户的专属邮箱里,等着主人来取。
理清了这三个角色,一封邮件的旅程就清晰了。我们一步步来看:
Step 1. 旅程开始,寄件人通过自己电脑上的MUA软件,把信发出,第一站就是抵达自己的MTA服务器。
Step 2. 本地的MTA收到信,如果发现收件人是自家服务器的用户,就会立刻交给MDA,由MDA派送到对应的邮件信箱。
Step 3. 如果收件人是外部用户,本地MTA就会扮演起“发件员”的角色,准备把这封信转送到对方的MTA去。
Step 4. 远端的MTA服务器收到了这封来自外部的信件。
Step 5. 远端MTA确认收件人是自己的用户后,同样交由自家的MDA处理,投递到收件人的信箱中静候。
Step 6. 旅程终点,收件人打开自己的MUA软件,从服务器邮箱里把信下载到本地电脑,整个过程圆满完成。
这套流程能顺畅运行,背后离不开标准通讯协定的支持。简单来说:
1. 寄信:无论是从MUA到MTA,还是MTA之间的对话,用的基本都是SMTP协定,默认走25号端口。你可以把它理解为邮件的“发货语言”。
2. 收信:当用户想从服务器取回邮件时,最常用的协定是POP3,端口号是110。这时,MUA就会使用POP3这种“取货语言”连接到MTA,把信件读取下来。
看到这里,你可能会发现一个问题:在上面的第三步,MTA只要发现信不是寄给自家用户的,就会帮忙转发出去。这岂不是意味着,任何人都能借用你的邮件服务器来发信?
没错,如果不管控,你的服务器就会变成所谓的“开放式中继(Open Relay)”。这后果可不太妙——服务器资源很快会被垃圾邮件占满,网路带宽被拖慢,更严重的是,你的服务器IP很快会被其他主流邮件服务器拉入黑名单,拒绝往来。
所以,必须关上这扇随意的大门。常见的做法是只允许本机或可信的IP位址使用中继功能。但这样一来,新问题又出现了:对于需要出差的业务员,或者在不同地点办公的用户来说,一旦IP不在白名单内,就无法通过公司服务器发信了,非常不便。
如何兼顾安全与便利?答案就是引入“邮件认证机制”。
这套机制的核心,是在MTA发送邮件这个环节,增加一道身份核验。具体来说,就是采用SMTP认证。当MUA向MTA发出寄信请求时,MTA会要求寄件人提供帐号和密码进行验证。只有认证通过,才允许借助这台服务器向外发信。这样一来,用户无论身在何处,只要密码无误,都能安全地使用邮件服务,完美解决了移动办公的难题。
理论说完,我们来点实际的。在Fedora Core 2系统上搭建一个具备认证功能的邮件服务器,主要会用到cyrus-sasl、dovecot和postfix这几个套件。好在系统通常已经内置了它们,我们主要进行配置。
首先,确认一下cyrus-sasl是否已经安装:
# rpm –qa | grep cyrus-sasl
cyrus-sasl-2.1.18-2
接着,修改它的SMTP守护进程配置文件:
# vi /usr/lib/sasl2/smtpd.conf
将内容改为:
pwcheck_method: saslauthd
mech_list: plain login
配置完成后,重新启动服务并测试认证功能是否正常:
# /etc/init.d/saslauthd restart
# /usr/sbin/testsaslauthd –u 你的帐号 –p ‘你的密码’
看到返回“0: OK “Success.””就表示成功了。
dovecot负责提供POP3/IMAP收信服务。同样先检查安装:
#rpm –qa | grep dovecot
dovecot-0.99.10.5-0.FC2
然后,在配置文件中启用pop3和imap协议:
# vi /etc/dovecot.conf
protocols = pop3 imap
重启服务后,可以通过telnet本地110端口来测试POP3服务是否就绪:
# /etc/init.d/dovecot restart
# telnet localhost 110
连接成功后,依次输入“user 你的帐号”和“pass 你的密码”,如果返回“+OK Logged in.”,说明收信服务配置正确。
postfix是这里的主角——MTA服务器。首先确认安装:
# rpm -qa | grep postfix
postfix-2.0.18-4
进行关键配置,主要是编辑主配置文件:
# vi /etc/postfix/main.cf
需要调整和增加以下几项(具体操作是找到对应行修改或取消注释):
1. 将只监听本机的限制注释掉:#inet_interfaces = localhost
2. 设定可接收邮件的目的地:mydestination = $myhostname, localhost.$mydomain, $mydomain
3. 增加SASL认证相关的系列参数,这是实现发信验证的关键:
smtpd_sasl_auth_enable = yes
smtpd_delay_reject = yes
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated permit_auth_destination reject
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
配置完成后,停用旧有的sendmail服务,启动postfix,并把它加入开机自启动:
# /etc/init.d/sendmail stop
# /etc/init.d/postfix start
# chkconfig --add postfix
最后,别忘了用ntsysv工具,在服务列表里确保postfix被选中,而sendmail被取消,这样下次开机才会默认运行postfix。
怎么验证SASL认证功能真的在postfix上启用了呢?有个简单的测试方法:
# telnet localhost 25
连接成功后,输入命令:ehlo localhost
仔细观察服务器的回应。如果配置无误,你会在返回的信息中看到类似这样的两行:
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
这两行表明了Postfix现在支持的认证类型,看到了它们,就恭喜你,SASL认证已经成功搭载。
所有服务器端配置妥当后,最后一步就是在客户端(如Outlook Express)进行测试了。添加邮件帐户时,填入正确的服务器地址、帐号和密码。这里有个关键点必须注意:在发信服务器的设置里,一定要勾选“我的服务器要求身份验证”。这个选项正是对应我们前面辛苦配置的SMTP认证机制,不勾选,邮件可就寄不出去了。
按照这个流程走一遍,一个具备基本收发和认证功能的邮件服务器就搭建完成了。
上一篇:拍一拍怎么撤回
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9