linux搭建linux postfixx和dovecot后OE登陆时候一直弹出用户登陆的对话框狂

使用Postfix与Dovecot收发电子邮件。
本章节从电子邮局系统的组成角色开始讲起,了解MUA、MTA与MDA的作用,熟悉熟悉SMTP、POP3与IMAP4邮局协议。
本章节从电子邮局的组成角色开始讲起,了解MUA、MTA与MDA的作用,熟悉熟悉SMTP、POP3与IMAP4邮局协议。
学习postfix与dovecot服务程序的使用方法并逐条讲解配置参数,完整演示了部署基础电子邮局系统以及设置用户别名邮箱的方法。
1971年由美国国防部资助的的ARPANET科研项目遇到了严峻问题——参于科研项目的科学家在不同的地方工作,不能及时的分享各自的研究成果,迫切的需要一种能够借助于网络且建立在计算机之间的传输数据的方法。 当时麻省理工学院Ray Tomlinson博士也是ARPANET项目的科研成员,当年秋天他使用软件SNDMSG向自己另一台电脑发出了人类历史上第一封Email邮件。
Ray Tomlinson博士决定选择”@”符号作为用户名与主机地址的间隔符。
邮件应用协议包括:
简单邮件传输协议(SMTP),用来发送或中转发出的电子邮件,占用tcp 25端口。
第三版邮局协议(POP3),用于将服务器上把邮件存储到本地主机,占用tcp 110端口。
第四版互联网信息访问协议(IMAP4),用于在本地主机上访问邮件,占用tcp 143端口。
电子邮件系统(E-mail,即Electronic mail system)由三部分组成:
用户代理MUA(Mail User Agent):用于收发邮件。
邮件传输代理MTA(Mail Transfer Agent):将来自于MUA的邮件转发给指定用户。
邮件投递代理MDA(Mail Delivery Agent):将来自于MTA的邮件保存到本机的收件箱中。
电子邮件系统与大多数的网络应用协议有本质的不同,例如前面讲过的文本传输协议(FTP),FTP服务程序就像拨打***一样,需要对方当前也保持在线,否则会报错连接超时。但电子邮件的发送者则并不需要等待投递工作完成,因为如果对方服务器宕机了,则会将要发送的内容自动的暂时保存到本地,检测到对方服务器恢复后再次投递。另外如果您想搭建企业级的电子邮件系统,请考虑下面几点:
反垃圾与反病毒模块:阻止垃圾邮件或病毒邮件对企业邮箱的干扰。
邮件:保证邮件内容不被嗅探、篡改。
邮件监控审核:监控全体职员邮件中有无敏感词,透露企业资料等。
稳定性:有较好的防DDOS攻击的能力,保证系统在线率等。
14.2 部署基础电子邮局系统
单独的使用Postfix服务程序并不能让用户完成收发邮件的操作,因为一个基础的电子邮局系统至少需要有SMTP服务器、POP3/IMAP服务器,为了能够部署一个基础的电子邮局系统,我们需要使用到下面的软件:
Postfix:提供邮件发送服务,即SMTP。
Dovecot:提供邮件收取服务,即POP3。
OutLook Express:客户端收发邮件的工具。
Postfix(发送邮件)+Dovectot(接收邮件)+OutLook(客户端工具)
配置本地主机名
修改本地主机名的配置文件:
[root@linuxprobe ~] # vim /etc/hostname
[root@mail~] # hostname
若要为用户提供linuxprobe域的电子邮局系统,则需先在DNS服务器中增加A记录和MX记录:
@ IN MX 10 .
mail IN A 192.168.10.10
这样配置解析记录后,主机名即为,而邮件域为@。
(请读者自行使用nmtui工具将网卡的DNS地址配置妥当即可)
14.2.1 配置Postfix服务程序
Postfix是一款由IBM出资研发的免费开源的邮局服务程序,兼容于Sendmail服务程序,即Sendmail用户可以很方便的迁移到Postfix程序,且收发件性能远超过Sendmail,能够自动增加减少进程的数量,保证邮局系统的高性能与稳定性,另外Postfix是由诸多的小模块组成,每个小模块完成特定的功能,使得管理员可以灵活的组合这些模块。
红帽RHEL7系统中默认已***postfix邮局服务程序:
[root@linuxprobe ~]#yum install postfix
Loaded plugins: langpacks, product-id, subscription-manager
rhel7 | 4.1 kB 00:00
(1/2): rhel7/group_gz | 134 kB 00:00
(2/2): rhel7/primary_db | 3.4 MB 00:00
Package 2:postfix-2.10.1-6.el7.x86_64 already installed and latest version
Nothing to do
Postfix邮局服务程序的配置文件如下:
/usr/sbin/postfix
主服务程序
/etc/postfix/master.cf
master主程序的配置文件。
/etc/postfix/main.cf
postfix服务的配置文件。
/var/log/maillog
记录邮件传递过程的日志。
第1步:查看Postfix服务程序主配置文件:
[root@mail~]# cat /etc/postfix/main.cf
配置文件足足有679行!但不用担心,绝大部分都是注释信息,我们只学习这些参数即可:
myhostname
邮局系统的主机名。
邮局系统的域名。
从本机寄出邮件的域名名称。
inet_interfaces
***的网卡接口。
mydestination
可接收邮件的主机名或域名。
mynetworks
设置可转发那些主机的邮件。
relay_domains
设置可转发那些网域的邮件
编辑Postfix服务程序的主配置文件(修改5处参数,另外需要将参数前面的井号(#)去掉才可生效):
[root@mail~] # vim /etc/postfix/main.cf
//修改第76行的邮局主机名。
myhostname =
//修改第83行的邮局域名。
mydomain =
//修改第99行的寄出邮件域名,$mydomain的值已在上面定义。
myorigin = $mydomain
//修改第116行的***网卡。
inet_interfaces = all
//修改第164行的可接收邮件的主机名和域名。
mydestination = $myhostname, $mydomain
第2步:创建邮局帐号:
[root@mail~] # useradd boss
[root@mail~] # echo "linuxprobe" | passwd --stdin boss
Changing password for user boss. passwd: all authentication tokens updated successfully.
第3步:启动Postfix服务程序:
[root@mail~] # systemctl restart postfix
[root@mail~] # systemctl enable postfix
ln -s '/usr/lib/systemd/system/postfix.service' '/etc/systemd/system/multi-user.target.wants/postfix.service'
因为在红帽RHCSA、RHCE或RHCA考试后都要重启您的实验机再执行判分脚本。
所以请读者在日常工作中也要记得将需要的服务加入到开机启动项中:”systemctl enable postfix“。
14.2.2 配置Dovecot服务程序
第1步:***Dovecot服务程序:
[root@mail~] # yum install dovecot -y
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分***过程………………
Installing: dovecot x86_64 1:2.2.10-4.el7 rhel7 3.2 M
Installing for dependencies: clucene-core x86_64 2.3.3.4-11.el7 rhel7 528 k
………………省略部分***过程………………
第2步:修改Dovecot程序主配置文件:
[root@mail~] # vim /etc/dovecot/dovecot.conf
//修改第24行的支持邮局协议。
protocols = imap pop3 lmtp
//然后追加允许明文认证(25行)。
disable_plaintext_auth = no
//修改第48行的允许登陆网段地址,全部允许即为(0.0.0.0/0)。
login_trusted_networks = 192.168.10.0/24
第3步:配置邮件的格式与存储路径。&
编辑dovecot的配置文件(将第25行的注释符(#号)去掉):
[root@mail~] # vim /etc/dovecot/conf.d/10-mail.conf
mail_location = mbox:~/mail:INBOX=/var/mail/%u
第4步:创建邮件的存储目录:
[root@mail~] # su - boss
Last login: Sat Aug 15 16:15:58 CST 2015 on pts/1
[boss@mail ~]$ mkdir -p mail/.imap/INBOX
第5步:启动Dovecot服务程序:
[root@mail~] # systemctl restart dovecot
[root@mail~] # systemctl enable dovecot
ln -s '/usr/lib/systemd/system/dovecot.service' '/etc/systemd/system/multi-user.target.wants/dovecot.service'
因为在红帽RHCSA、RHCE或RHCA考试后都要重启您的实验机再执行判分脚本。
所以请读者在日常工作中也要记得将需要的服务加入到开机启动项中:”systemctl enable doot“。
14.2.3 用户使用邮局系统
您可以在《》下载到Windows7系统以及OutLook2007邮件管理工具,系统网卡请按要求配置IP地址:
邮局服务器
红帽RHEL7操作系统
192.168.10.10
红帽RHEL7操作系统
192.168.10.20
用户端主机
微软Windows7系统
在outlook中登陆boss用户后尝试给发送邮件。
第1步:开启OutLook程序。
第2步:选择开始配置电子邮件帐户。
第3步:选择默认的邮局服务器类型。
第4步:填写创建的邮箱帐号和密码。
第5步:等待连接邮局服务器。
第6步:选择非加密的链接方式。
第7步:在页面上邮件,选择“新邮件”。
第8步:填写收件人与邮件内容后发送。
登陆到邮局服务器(192.168.10.10)后查看root用户的邮件:
[root@mail~] # mail
Heirloom Mail version 12.5 7/5/10.Type ? for help.
"/var/mail/root": 3 messages 3 unread &
Fri Jul 10 09:58
"[abrt] full crash r"
U 2 Anacron Sat Aug 15 13:33 18/624 "Anacron job 'cron.dai"
U 3 boss Sat Aug 15 19:02 118/3604 "Hello~"
Message 3:
Sat Aug 15 19:02:06 2015
Return-Path:
X-Original-To:
Delivered-To:
From: "boss"
Subject: Hello~
Date: Sat, 15 Aug :06 +0800
Content-Type: text/ charset="gb2312"
当您收到这封邮件时,证明我的邮局系统实验已经成功!
Held 3 messages in /var/mail/root
14.3 设置用户别名邮箱
我们刚刚顺利的向root用户发送了邮件,再来试试向bin用户(系统默认创建)的用户发送一封邮件吧:
尝试切换到bin用户(提示此帐户当前不可用):
[root@mail ~]# su bin
This account is currently not available.
查看root用户的邮箱:
[root@mail ~]# mail
Heirloom Mail version 12.5 7/5/10.
Type ? for help.
"/var/mail/root": 4 messages 4 new &
Fri Jul 10 09:58
"[abrt] full crash r"
U 2 Anacron Wed Aug 19 17:47 17/619 "Anacron job 'cron.dai"
U 3 boss Sat Aug 15 19:02 118/3604 "Hello~" U
4 boss Wed Aug 19 18:49 116/3231 "你好,用户Bin。"
Message 4:
Wed Aug 19 18:49:05 2015
Return-Path:
X-Original-To:
Delivered-To:
From: "boss"
Subject: 你好,用户Bin。
Date: Wed, 19 Aug :05 +0800
Content-Type: multipart/ boundary="----=_NextPart_000_DAAF.B9104E90"
X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AdDabKrQzUHVBTgRQMaCtUsVtqfL1Q== Content-Language: zh-cn Status: R Content-Type: text/ charset="gb2312"
这是一封发给用户Bin的文件。
好奇怪!这封明明发送给bin用户的邮件为什么会被root收到呢?这就是aliases别名机制!
查看aliases别名机制的配置文件:[root@mail ~]# cat /etc/aliases
# Aliases in this file will NOT be expanded in the header from
# Mail, but WILL be visible over networks or from /bin/mail.
# &&&&&&&&&& The program "newaliases" must be run after
# && NOTE && this file is updated for any changes to
# &&&&&&&&&& show through to sendmail.
# Basic system aliases -- these MUST be present.
mailer-daemon: postmaster
postmaster: root
# General redirections for pseudo accounts.
daemon: root
sync: root
shutdown: root
halt: root
mail: root
news: root
uucp: root
operator: root
games: root
gopher: root
nobody: root
radiusd: root
dbus: root
vcsa: root
canna: root
nscd: root
pcap: root
apache: root
webalizer: root
dovecot: root
quagga: root
radvd: root
amandabackup: root
privoxy: root
ident: root
named: root
mailnull: root
postgres: root
sshd: root
smmsp: root
postfix: root
netdump: root
ldap: root
squid: root
desktop: root
rpcuser: root
nfsnobody: root
ingres: root
system: root
toor: root
manager: root
dumper: root
abuse: root
newsadm: news
newsadmin: news
usenet: news
ftpadm: ftp
ftpadmin: ftp
ftp-adm: ftp
ftp-admin: ftp
www: webmaster
webmaster: root
security: root
hostmaster: root
info: postmaster
marketing: postmaster
sales: postmaster
support: postmaster
# trap decode to catch security attacks
decode: root
# Person who should get root's mail
#root: marc
这样看完好像就大致明白了吧,原来这个文件定义了用户名与它的别名,格式为“别名 用户名”。
如果我们希望所有发送给的邮件,均保存到的邮箱中,则这样追加:
# General redirections for pseudo accounts.
***: root
顺利编辑/etc/aliases文件后需要执行命令”newaliases“,这样追加的用户别名才能立即生效,然后尝试发送邮件。
[root@mail ~]# mail
Heirloom Mail version 12.5 7/5/10. Type ? for help.
"/var/mail/root": 5 messages 1 new 4 unread
Fri Jul 10 09:58
"[abrt] full crash report"
U 2 Anacron Wed Aug 19 17:47 18/629 "Anacron job 'cron.daily' on "
U 3 boss Wed Aug 19 18:44 114/2975 "hello"
4 boss Wed Aug 19 18:49 117/3242 "你好,用户Bin。"
&N 5 boss Wed Aug 19 19:18 115/3254 "这是一封发送给***用户的邮件。"
而如果想取消别名的话,只需编辑掉aliases文件中的用户别名后执行newaliases命令即可,很简单吧~查看:2833|回复:4
这个问题困扰几天了,也是到处找资料,未得解决。。。
centOS上架构postfix+dovecot,能够正常发送邮件了,但接收文件有问题,却不知问题在哪
邮件服务器是。。。用户名是gmb1,gmb2,
在OE中测试,发送/接收时,弹出对话框,确定用户名密码是没问题的。
登录邮件服务器时出错。“用户名”被拒绝。 帐户: '', 服务器: '', 协议: POP3,
服务器响应: '-ERR Plaintext authentication disallowed on non-secure (SSL/TLS) connections.',
端口: 110, 安全(SSL): 否, 服务器错误: 0x800CCC90, 错误号: 0x800CCC91
(15.53 KB)
优秀技术经理
强制了SSL,你需要设置下OE的配置,把SSL打开。
引用:原帖由 gm100861 于
09:23 发表
强制了SSL,你需要设置下OE的配置,把SSL打开。 要设置哪里了
你的??我也遇到,不?已解?,按如下作:
一.service iptables status看看
二.iptables -F
三.service iptables status再看看
四.getenforce 看看
五.setenforce 0
六.getenforce再看看
七.service postfix restart
八.service dovecot restart
九.service named restart
十.你再接收,?送看看,有??再??QQ.
  我?在有新??,能?送,不能接收,卡在?里好久了,到?找,??有找到,不知??出在哪里.
引用:原帖由 chuanfu_zheng 于
18:21 发表
你的??我也遇到,不?已解?,按如下作:
一.service iptables status看看
二.iptables -F
三.service iptables status再看看
四.getenforce 看看
五.setenforce 0
六.getenforce再看看
七.service postfix restart
八.service d ... 卡在这里,可用sendmail -q -v,强制发送,看提示。一般会出现超时的情况,不过也要看具体情况了。再根据提示排错。dovecot配置是否正确。对于网站来说,发送各种例如注册通知的邮件是很基本的一个需求,之前我一直用的是腾讯的企业邮箱,感觉挺方便的,直接可以绑定QQ邮箱接收邮件,网站配置一下SMTP也就可以发出邮件。
但是在前几天由于有重要信息需要立即通知用户,所以选择了群发邮件的方式。在当我以为一切都是辣么完美的时候,陆续有用户过来问我什么情况,我都会跟他们说请查收邮件,但是有好几个人说并没有任何邮件,于是我试着再发一次,结果返回了错误提示。在网上找了下原因,后来看到这个:,才知道是因为发信数量限制了。
所以只好另寻出路了,然后我在知乎上面找到了很多个提供邮件发送的服务商,大概有这些:SendGrid、MailChimp、Amazon SES、SendCloud、Mailgun等等,在看了不少人的建议之后,我选择了Mailgun。
Mailgun注册和配置都挺简单,很快我就成功的发出了第一封邮件,怀着这封欣喜,我又发送了几封邮件,可是悲剧发生在第三封邮件,Mailgun后台有详细的发送记录,这个非常不错,在后台我看到我的邮件被拒收了,原因大概是。所以这里就涉及到IP的问题,目前第三方的邮件发送服务普遍都是共享IP(后面还试过SendCloud、),而共享IP并不能确定是否已经达到接收方的数量限制,一旦达到了就无法再发送。这就是说还需要使用独立IP才能保证邮件有较高的到达率,接着就看了各家的独立IP价格,一般都是二十几甚至四十几美刀一个月,这对于我们这种小站长邮件需求不高的来说确实有点贵,买台VPS都不用这个价吧。
经过上面这些折腾,也算明白了如果要想顺畅的发出邮件的话,除了花钱,就只有自己搭建一个邮件服务器了。
好了,下面开始进入正题,教你搭建一个简单的邮件服务器。
用于搭建的服务器信息
阿里云 Centos 6.5 32位
1.***Postfix
yum -y install postfix
***完成还需要替换系统自带的sendmail:
rpm -e sendmail
yum remove sendmail
修改MTA(默认邮件传输代理)
alternatives
然后直接回车即可。
检查一下是不是已经设置成功了。
alternatives
第一行可以看到mta的状态。 例如:mat - status is manual.
2.***Dovecot
yum -y install dovecot
3.配置Postfix
编辑/etc/postfix/main.cf,可以下载下来修改,也可以使用vi进行编辑:
vi /etc/postfix/main.cf
修改如下:
修改好了之后使用/etc/rc.d/init.d/postfix start开启postfix,使用chkconfig postfix on将postfix开机启动。
4.配置Dovecot
修改如下:
[root@mail ~]
到这里,我们的邮件服务器就已经搭建成功了。
5.域名解析
最后别忘了还需要进行域名解析工作。
添加一个子域名mail,A记录解析到服务器IP。
再添加一个MX记录,主机记录为空,记录值为上面解析的二级域名mail.lomu.me,优先级10。
注意:解析生效可能需要一段时间。
6.邮箱使用
一切都弄好以后,就可以使用Foxmail等第三方软件来收发邮件了。在这里需要说一下,系统用户就是邮件的用户,例如root,就是一个邮箱用户,邮箱是,密码就是root的密码,所以需要创建用户,只要使用useradd创建用户,再使用passwd设置密码。
好了,假如我们创建一个admin的用户:
接下来登录Foxmail,如图:
点击创建,进入:
这里需要注意,邮件账号是admin,并不是邮箱,另外我们没有配置SSL,所以也不要勾选。 接下来点击创建,如果一切正常的话,你已经成功了。
阅读(...) 评论()

参考资料

 

随机推荐