邮件服务器的架设方法
用 Win2003 架设邮件服务器
很多企业局域网内都架设了邮件服务器,用于进行公文发送和工作交流。但使用专业的企业邮件系统软件需要大量的资金投入,这对于很多企业来说是无法承受的。其实我们可以通过Windows Server 2003提供的POP3服务和SMTP服务架设小型邮件服务器来满足我们的需要。
一、安装POP3和SMTP服务组件
Windows Server 2003默认情况下是没有安装POP3和SMTP服务组件的,因此我们要手工添加。
1安装POP3服务组件
以系统管理员身份登录Windows Server 2003 系统。依次进入“控制面板→添加或删除程序→添加/删除Windows组件”,在弹出的“Windows组件向导”对话框中选中“电子邮件服务”选项,点击“详细信息”按钮,可以看到该选项包括两部分内容:POP3服务和POP3服务Web管理。为方便用户远程Web方式管理邮件服务器,建议选中 “POP3服务Web管理”。
2安装SMTP服务组件
选中“应用程序服务器”选项,点击“详细信息”按钮,接着在“Internet信息服务(IIS)”选项中查看详细信息,选中“SMTP Service”选项,最后点击“确定”按钮。此外,如果用户需要对邮件服务器进行远程Web管理,一定要选中“万维网服务”中的“远程管理(HTML)”组件。完成以上设置后,点击“下一步”按钮,系统就开始安装配置POP3和SMTP服务了。
二、配置POP3服务器
1创建邮件域
点击“开始→管理工具→POP3服务”,弹出POP3服务控制台窗口。选中左栏中的POP3服务后,点击右栏中的“新域”,弹出“添加域”对话框,接着在“域名”栏中输入邮件服务器的域名,也就是邮件地址“@”后面的部分,如“rtjnet”,最后点击“确定”按钮。其中“rtjnet”为在Internet上注册的域名,并且该域名在DNS服务器中设置了MX邮件交换记录,解析到Windows Server 2003邮件服务器IP地址上。
2创建用户邮箱
选中刚才新建的“rtjnet”域,在右栏中点击“添加邮箱”,弹出添加邮箱对话框,在“邮箱名”栏中输入邮件用户名,然后设置用户密码,最后点击“确定”按钮,完成邮箱的创建。
三、配置SMTP服务器
完成POP3服务器的配置后,就可开始配置SMTP服务器了。点击“开始→程序→管理工具→Internet信息服务(IIS)管理器”,在 “IIS管理器”窗口中右键点击“默认SMTP虚拟服务器”选项,在弹出的菜单中选中“属性”,进入“默认SMTP虚拟服务器”窗口,切换到“常规”标签页,在“IP地址”下拉列表框中选中邮件服务器的IP地址即可。点击“确定”按钮,这样一个简单的邮件服务器就架设完成了。
完成以上设置后,用户就可以使用邮件客户端软件连接邮件服务器进行邮件收发工作了。在设置邮件客户端软件的SMTP和POP3服务器地址时,输入邮件服务器的域名“rtjnet”即可。
四、远程Web管理
Windows Server 2003还支持对邮件服务器的远程Web管理。在远端客户机中,运行IE浏览器,在地址栏中输入“https://服务器IP地址:8098”,将会弹出连接对话框,输入管理员用户名和密码,点击“确定”按钮,即可登录Web管理界面。
是指搭建邮件中继,像有些海外邮件收发,可能直接在过内发送过去会不成功,需要在海外架设邮件中继服务。
如果你需要这方面的服务,没必要自己去搭建,只搭建一台中继服务器是没啥效果的,需要一个集群。
可以直接选择成熟的邮件中继服务,像U-Mail邮件中继服务就不错,可以去了解一下
sendmail的功能强大,配置起来也十分繁琐。本例仅介绍如何架设小型的局域网电子邮局。
1、设置sendmail 作为守卫进程(daemon)启动
可以使用以下命令来确认 sendmail 是否已经启动:ps –A|grep sendmail
如果启动了 sendmail,那么这个命令将显示出它的相关信息。如果没有启动,则需要在/etc/rcd/rcnet 文件中加上如几行代码:
if [-f /usr/lib/sendmail ];
then(cd /usr/spool/mqueue;rm –f if )
/usr/lib/sendmail-bd-qlh;echo –n ‘sendmail’>/dev/console
fi
2、设置sendmailcf
sendmailcf是sendmail的配置文件。在安装了 Linux 系统之后,它将自动生成一个适合本系统使用的 sendmailcf 文件,位于/etc/sendmailcf
3、开启SMTP、POP 端口
在默认情况下,SMTP 端口是打开的,而 POP端口是关闭的,我们必须将它打开:
1)用 root(超级权限)登录到服务器上;
2)编辑文件/etc/inetdconf;
3)找到描述 POP 端口的语句:#pop3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/inpop3d
4)将 POP3的描述语句那一行的注释号“#”去掉。
5)如果没有找到,就手工补上这一行;(另外,我们还可以验证一下是否存在 SMTP端口的描述语句) ;
6)存盘后退出。
7)运行 inetd 命令,使得设置生效。
8)用以下命令验证,看 POP3 端口是否打开(生效):netstat –a |grep pop
如果打开的话,可以看到以下信息:tcp 0 0 :pop3 : LISTEN
4、为新用户开E-Mail 帐号
在 Linux 中开设 E-Mail 帐号十分简单,只要在 Linux 系统中新增一个用户即可。该用户帐号和密码就是E-Mail 的帐号和密码。如:为新用户 guest 开一个E-Mail帐号,用以下命令即可:
adduser guest passwd guest
这样,该新用户的 E-Mail 地址就是:guest@fddu2000com ;密码为:guest
5、为E-Mail 帐号设置别名
如果某个用户想使用多个 E-Mail 地址,可通过设置别名的方法来实现。比:用户“杜
方冬”想同时拥有 E-Mail 地址:dfd@fddu2000com ;fddu@fddu2000com ;fddu2000@fddu2000com
就可通过以下步骤来实现这样的别名设置:
1)以 root 登录服务器;
2)新增一个账号 dfd;
3)编辑文件/etc/aliases,加上两行:
fddu:dfd
fddu2000:dfd
4)存盘退出;
5)执行命令: newaliases
这样,用户杜方冬就拥有三个邮件地址,杜方冬只需使用一个E-Mail 帐号:dfd@fddu2000com就可以接收所有寄给以上三个E-Mail 邮件地址的电子邮件。
6、邮箱空间的限定
如果你想控制用户邮箱空间的大小,可以对它进行限定。实现方法是利用磁盘限额功能来实现的。电子邮件的暂存空间是在/var/spool/mail 目录下,只要通过磁盘限额设定每一个用户在这个目录下能使用的最大空间就可以了。
一、概述:
在配置邮件服务器之前,先解释几个概念。
通常使用Email都很容易,但是Internet的邮件系统是通过几个复杂的部分连接而成的,对于最终用户而言,我们熟悉的Outlook,Foxmail等都是用来收信和发信的,称之为MUA:Mail User Agent,邮件用户代理。
MUA并非直接将邮件发送至收件人手中,而是通过MTA:Mail Transfer Agent,邮件传输代理代为传递,Sendmail和Postfix就是扮演MTA的角色。
一封邮件从MUA发出后,可能通过一个或多个MTA传递,最终到达MDA:Mail Delivery Agent,邮件投递代理,邮件到达MDA后,就存放在某个文件或特殊的数据库里,我们将这个长期保存邮件的地方称之为邮箱。
一旦邮件到达邮箱,就原地不动了,等用户再通过MUA将其取走,就是用Outlook,Foxmail等软件收信的过程。
所以一封邮件的流程是:
发件人:MUA --发送--> MTA -> 若干个MTA -> MTA -> MDA <--收取-- MUA:收件人
MUA到MTA,以及MTA到MTA之间使用的协议就是SMTP协议,而收邮件时,MUA到MDA之间使用的协议最常用的是POP3或IMAP。
需要注意的是,专业邮件服务商都有大量的机器来为用户服务,所以通常MTA和MDA并不是同一台服务器,因此,在Outlook等软件里,我们需要分别填写SMTP发送服务器的地址和POP3接收服务器的地址。
Linux系统下邮件服务器的搭建(Postfix+Dovecot)
对于网站来说,发送各种例如注册通知的邮件是很基本的一个需求,之前我一直用的是腾讯的企业邮箱,感觉挺方便的,直接可以绑定QQ邮箱接收邮件,网站配置一下SMTP也就可以发出邮件。
但是在前几天由于有重要信息需要立即通知用户,所以选择了群发邮件的方式。在当我以为一切都是辣么完美的时候,陆续有用户过来问我什么情况,我都会跟他们说请查收邮件,但是有好几个人说并没有任何
邮件,于是我试着再发一次,结果返回了错误提示。在网上找了下原因,后来看到这个:各大免费邮箱邮件群发账户SMTP服务器配置及SMTP发送量限制情况,才知道是因为发信数量限制了。
所以只好另寻出路了,然后我在知乎上面找到了很多个提供邮件发送的服务商,大概有这些:SendGrid、MailChimp、Amazon SES、SendCloud、Mailgun等等,在看了不少人的建议之后,我选择了Mailgun。
Mailgun注册和配置都挺简单,很快我就成功的发出了第一封邮件,怀着这封欣喜,我又发送了几封邮件,可是悲剧发生在第三封邮件,Mailgun后台有详细的发送记录,这个非常不错,在后台我看到我的邮件被拒收了,原因大概是该服务器IP的发信频率超过腾讯邮箱限制。所以这里就涉及到IP的问题,目前第三方的邮件发送服务普遍都是共享IP(后面还试过SendCloud、),而共享IP并不能确定是否已经达到接收方的数量限制,一旦达到了就无法再发送。这就是说还需要使用独立IP才能保证邮件有较高的到达率,接着就看了各家的独立IP价格,一般都是二十几甚至四十几美刀一个月,这对于我们这种小站长邮件需求不高的来说确实有点贵,买台VPS都不用这个价吧。
经过上面这些折腾,也算明白了如果要想顺畅的发出邮件的话,除了花钱,就只有自己搭建一个邮件服务器了。
好了,下面开始进入正题,教你搭建一个简单的邮件服务器。
用于搭建的服务器信息
阿里云 Centos 65 32位
Postfix-2812targz Postfix MTA(邮件传输代理)
Dovecot-218targz IMAP 和 POP3 邮件服务器
Postfixadmin-235targz 采用PHP编写的开源WEB邮箱及域名账号管理工具
Roundcubemail-081targz 采用php编写的开源IMAP邮件WEB客户端
安装过程
1安装Postfix
yum -y install postfix
安装完成还需要替换系统自带的sendmail:
rpm -e sendmail
或者
yum remove sendmail
修改MTA(默认邮件传输代理)
alternatives --config mta
然后直接回车即可。
检查一下是不是已经设置成功了。
alternatives --display mta
第一行可以看到mta的状态。 例如:mat - status is manual
2安装Dovecot
yum -y install dovecot
3配置Postfix
编辑/etc/postfix/maincf,可以下载下来修改,也可以使用vi进行编辑:
vi /etc/postfix/maincf
修改如下:
# 75行: 取消注释,设置hostname
myhostname = maillomume
# 83行: 取消注释,设置域名
mydomain = lomume
# 99行: 取消注释
myorigin = $mydomain
# 116行: 修改
inet_interfaces = all
# 119行: 推荐ipv4,如果支持ipv6,则可以为all
inet_protocols = ipv4
# 164行: 添加
mydestination = $myhostname, localhost$mydomain, localhost, $mydomain
# 264行: 取消注释,指定内网和本地的IP地址范围
mynetworks = 127000/8, 10000/24
# 419行: 取消注释,邮件保存目录
home_mailbox = Maildir/
# 571行: 添加
smtpd_banner = $myhostname ESMTP
# 添加到最后
# 规定邮件最大尺寸为10M
message_size_limit = 10485760
# 规定收件箱最大容量为1G
mailbox_size_limit = 1073741824
# SMTP认证
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject
修改好了之后使用/etc/rcd/initd/postfix start开启postfix,使用chkconfig postfix on将postfix开机启动。
4配置Dovecot
修改如下:
[root@mail ~]# vi /etc/dovecot/dovecotconf
# 26行: 如果不使用IPv6,请修改为
listen =
[root@mail ~]# vi /etc/dovecot/confd/10-authconf
# 9行: 取消注释并修改
disable_plaintext_auth = no
# 97行: 添加
auth_mechanisms = plain login
[root@mail ~]# vi /etc/dovecot/confd/10-mailconf
# 30行: 取消注释并添加
mail_location = maildir:~/Maildir
[root@mail ~]# vi /etc/dovecot/confd/10-masterconf
# 88-90行: 取消注释并添加
# Postfix smtp验证
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
[root@mail ~]# /etc/rcd/initd/dovecot start
Starting Dovecot Imap: [ OK ]
[root@mail ~]# chkconfig dovecot on
到这里,我们的邮件服务器就已经搭建成功了。
5域名解析
最后别忘了还需要进行域名解析工作。
添加一个子域名mail,A记录解析到服务器IP。
再添加一个MX记录,主机记录为空,记录值为上面解析的二级域名maillomume,优先级10。
注意:解析生效可能需要一段时间。
6防火墙设置
/sbin/iptables -A INPUT -p tcp --dport 25 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 110 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 143 -j ACCEPT
突破封锁25口的转发
/sbin/iptables -t nat -A PREROUTING -p tcp -m tcp --dport 10025 -j REDIRECT --to-ports 25
7邮箱使用
一切都弄好以后,就可以使用Foxmail等第三方软件来收发邮件了。在这里需要说一下,系统用户就是邮件的用户,例如root,就是一个邮箱用户,邮箱是root@domaincom,密码就是root的密码,所以需要创建用户,只要使用useradd创建用户,再使用passwd设置密码。
好了,假如我们创建一个admin的用户:
# 创建用户
useradd admin
#设置密码,会要求输入两次密码
passwd admin
接下来登录Foxmail,如图:
点击创建,进入:
这里需要注意,邮件账号是admin,并不是邮箱,另外我们没有配置SSL,所以也不要勾选。 接下来点击创建,如果一切正常的话,你已经成功了。
Linux什么系统的?如果是AS55的话那我现在在下面打的就是=
=
十分还真不好拿啊~建议LZ加点分-
-看在写的那么辛苦的份上
物理机IP:19216810100
域名:wwwaiycom
首先先设置DNS
mkdir
/mnt/cdrom
mount
-t
iso9660
/dev/cdrom
/mnt/cdrom
(挂载ISO因为我用的是虚拟机=
=没有光盘)
cd
/mnt/cdrom/Server/
rpm
-ivh
caching-chroot-933-7el5i386rpm
rpm
-ivh
bind-
vim
/etc/namerfc1912zones
=
=里面配置文件太长了直接说哪一行吧-
-反正都差不多~只要是AS55的话
15行:localdomin修改为aiycom
17行:localdomainzone改为aiycomzone
27行:00127改为本地前三位倒过来10168192
29行:namelocal改为19216810zone
输入Shift+;
然后输入wq!强制保存并退出
vim
/etc/namedcachingnameserverconf
15行127001改为any
23行localhost改为any
32行、33行localhost改为any
cd
/var/named/chroot/var/named
cp
-p
localdomainzone
aiycomzone
cp
-p
namedlocal
19216810zone
vim
aiycomzone
在最后加mail
(TAB键对齐就好了)
IN
A
19216810100
aiycom
IN
MX
5
mailaiycom
同样
输入Shift+;
然后输入wq!强制保存并退出
vim
19216810zone
同样在最后加100
IN
PTR
mailaiycom(注意空格同样是tab)
输入Shift+;
然后输入wq!强制保存并退出
(=
=下面的话这两句忽略掉了太麻烦了)
ln
-s
aiycomzone
/var/named/
ln
-s
1921683zone
/var/named/
vim
/etc/resolvconf
nameserver
19216810100
service
named
restart
试试
nslookup
mailaiycom
=
=DNS打完然后MAIL等下继续先提交保存=
=
-
-现在继续
-
-继续挂载省略了直接安装
cd
/mnt/cdrom/Server
rpm
-ivh
m4-
rpm
-ivh
sendmail-
(一开始安装系统时候我没安装所以现在挂载~如果一开始有选sendmail的话54掉就可以了=
=再次~)
前面其实就设置好了mail服务的DNS
cd
/etc/mail
vim
local-host-names
在最下面输入aiycom
vim
sendmailmc
116行127001改为0000
m4
sendmailmc
>
sendmailcf
cd
/etc/initd
/saslauthd
restart
/sendmail
restart
/dovecot
restart
useradd
aiy
建立aiy用户
passwd
aiy
123456
123456
用户aiy密码设置为123456
aiy@aiycom
123
(标题)
123
(内容)
ctrl+d
然后信息就发完了
TT终于轮到测试了~
su
aiy
切换到aiy用户
查看aiy用户的mail
=
=这样就完了现在发现aiy里面有份root邮件吧TT
还能输入
8917
字-
-不知不觉打了很多字了=
=
我QQ
1842534312不懂可以问我
-0-可以转载~但是请保留全部
汗,帮你一下吧,其实邮件服务器装哪台机器都无所谓,我不知道你要两台机器干嘛,不过有个东西是必须的,就是DNS,DNS里有个MX记录是专门指定本地域的邮件服务器IP地址的,外面的邮件送来的时候首先对方的邮件代理会询问你的DNS,“谁是你这个域的mail代理?”,你的服务器返回MX记录信息给对方,所以,配置DNS的MX记录是必须的,测试的时候别忘了改客户端的DNS为你配置的DNS服务器地址哦~
补充回答:
安装sendmail包,配置太复杂,我想你应该有书可以指导你,网上也有很多文章的,你搜索“sendmail配置”就有,当然,默认配置不修改也完全能用,主要就是用m4宏将你能看懂的mc文件生成sendmail能看懂的cf文件,
更改这些文件夹的权限为755:/;/etc;/etcmail;/usr/var;var/spool;/var/spool/mqueue,所有者为root
创建/etc/mail/local-host-names并编辑它,
为sendmail增加本地域名,创建别名文件/etc/mail/aliases,
创建转发数据库文件/etc/mail/access,
用makemap生成accessdb文件,
最后启动sendmail /usr/sbin/sendmail -bd
汗,然后是配置DNS
linux的DNS用的是“伯克利名字域BIND”软件包,也简单跟你说下,安装好光碟上预编译好的包,BIND配置文件你能看懂的,就是文本, DNS有正象解析和反向解析,在主配置文件/etc/namedconf里只是指定了每个域的配置文件在文件系统上的地址和类型,首先是个转发域,类型是hint,然后可能是本地回环127001的配置文件,有两个,一个正向一个反向,自己去按照它的路径打开看,多看看你就明白它的格式了,然后你自己依葫芦划瓢添加自己的域名,类型为master,当然,也有自己的配置文件地址,再建一个以in-addrapra为名称结尾的反向域数据库文件,类型还是master,然后去创建两个个自己域的配置文件:
正向搜索域:
照本地回环的格式自己写,上来是什么序列号、刷新、重试、超时等等一堆时间,照抄不要动,然后下面只需要一条记录就行了:
IN NS <你的机器名>
IN MX 10 <你的机器名>
<你的机器名> IN A <IP地址>
反向搜索域,头还是根上面一样,上来是什么序列号、刷新、重试、超时等等一堆时间,照抄不要动,然后下面照这样写
<IP地址> IN PTR <机器名>
这儿只能给你写这么多了,所有配置都在同一台机器上,根本不需要两台机器,你平时就应该多看看书啊,不要临时抱佛脚,很被动的,不过我也是这么过来的:),还有问题单独发信息给我。
0条评论