搭建sendmail邮件服务器
RHEL5 sendmail 搭建
RedHat Enterprise 5下Sendmail服务器搭建
关于sendmail服务
Sendmail是目前Linux下最常用的e-mail服务,虽然sendmail功能配置比较复杂,而且有被Postfix取代的趋势,但目前RHCE考试的邮件服务搭建中涉及到Sendmail,将来会采用Postfix。
环境
我们组建两台邮件服务器A与B与一台DNS,其中
A 192.168.100.102/24 有域名mail.rhce.com
B 192.168.100.101/24 有域名mail.example.com
DNS 192.168.100.98
服务配置
一 A上作如下配置
打开/etc/mail/local-host-names (该文件用于定义收发邮件的主机别名)
# local-host-names - include all aliases for your machine here.
rhce.com #注:不可少,否则收不到邮件,但仍可以发邮件
mail.rhce.com #注:可要可不要
二 修改/etc/mail/access (该文件可用于限制哪些客户端可以使用此邮件服务器来转发邮件,也可不配,默认即是转发的)
rhce.com RELAY
example.com RELAY
192.168.100. RELAY
192.168.10. REJECT #设置拒绝转发192.168.10网段的邮件
注:可以设置的选项还有 OK/REJECT/DISCARD/ERROR:550
三 B上有如下配置
修改/etc/mail/local-host-names
# local-host-names - include all aliases for your machine here.
example.com
mail.example.com
四 修改/etc/mail/access
rhce.com RELAY
example.com RELAY
192.168.100. RELAY
接着双方均要用makemap hash access.db<access 生成访问许可库文件
双方分别在/etc/resolv.conf中设置192.168.100.98为DNS的IP地址
另外双方的hostname与/etc/sysconfig/network中的域名均要设为相应的域名,如下:
主机A
hostname mail.rhce.com
修改/etc/sysconfig/network ,设置HOSTNAME=mail.rhce.com
主机B
hostname mail.example.com
修改/etc/sysconfig/network ,设置HOSTNAME=mail.example.com
五 A和B均要修改/etc/mail/sendmail.cf
O DaemonPortOptions=Port=smtp,Addr=0.0.0.0, Name=MTA (注:将127.0.0.1改为0.0.0.0) 即使服务器能够为主机的所有网络接口(0.0.0.0)提供服务
改完之后重启sendmail服务:
service sendmail restart (注:用netstat –tlunp查看是否在0.0.0.0上监听)
六 A和B均打dovecot服务,只有使用了dovecot才能使用Foxmail/OutLook等通过POP3/IMAP协议接受邮件,命令如下:
service dovecot restart
注:此时查看是否打开了110/143端口,实际上还打开了993(IMAP-SSL)/995(POP3-SSL)端口;
DNS中的设置如下
DNS在named.conf中有如下配置
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
};
include "/etc/rndc.key";
zone "." {
type hint;
file "named.ca";
};
zone "example.com" {
type master;
file "example.com.zone";
};
zone "rhce.com" {
type master;
file "rhce.com.zone";
};
DNS在example.com.zone文件中有如下配置
$ttl 38400
example.com. IN SOA dns.example.com. admin.example.com. (
2005090503 ;Serial
10800 ;Refresh
3600 ;Retry
604800 ;Expire
38400 ) ;Negative Cache TTL
example.com. IN NS dns.example.com.
rhel4 IN CNAME dns
bbs IN CNAME www
samba IN CNAME www
example.com. IN MX 5 mail
mail IN A 192.168.100.101
DNS在rhce.com.zone文件中有如下配置
$ttl 38400
rhce.com. IN SOA dns.rhce.com. admin.rhce.com. (
2005090503 ;Serial
10800 ;Refresh
3600 ;Retry
604800 ;Expire
38400 ) ;Negative Cache TTL
rhce.com. IN NS dns.rhce.com.
www.rhce.com. IN A 192.168.100.29
rhel4 IN CNAME dns
bbs IN CNAME www
samba IN CNAME www
rhce.com. IN MX 5 mail
mail IN A 192.168.100.102
关于密钥与证书
如果要设置POP3S和IMAP4服务器都必须生成相应的密钥和证书;
服务器使用私钥加密邮件,客户端收邮件时,使用证书中的公钥对邮件进行解密,才能够正常读邮件;
配置Senmail的SMTP认证配置
vi /etc/mail/sendmail.mc
//查找设置行
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
dnl define(`confAUTH_MECHANISMS’, `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
将这二行的dnl去掉 *RHEL4*5中,sendmail.conf配置文件设置使用saslauthd服务程序提供了用户的认证程度,所以必须启动sasaauthd服务
(4)访问控制的配置access,在RHEL4&5中,默认了Sendmail服务器所在的主机的用户可以任意发送邮件,而不需要任何身份验证
即注意/etc/mail/access文件中有一行: 127.0.0.1 RELAY
makemap hash access.db(5)使用m4命令生成sendmail.cf文件,其实sendmail.mc即是一模板文件
m4 sendmail.mc >sendmail.cf
启动Sendmail,saslauthd服务,验证Sendmail服务
telnet localhost 25 //输入ehlo localhost 此时应该有LOGIN PLAIN的字样,即表示SMTP认证设置成功.
chkconfig --level 35 saslauthd on
service saslauthd start
第二步:配置Dovecot服务器
用命令system-config-packages安装dovecot软件包,vi /etc/dovecot.conf
将#protocols =imap imaps pop3 pop3s 前面的#去掉,RHEL4中加上pop3,pop3s
启动dovecot服务 service dovecot start
第三步:启动DNS,saslauthd,sendmail.dovecot服务进行测试
如何制作私钥和自签名证书:
cd /etc/pki/tls/certs/
make dovecot.pem #该文件保存邮件服务器的私钥和公钥信息;
vi /etc/dovecot.conf
将
ssl_cert_file = /etc/pki/dovecot/certs/dovecot.pem
ssl_key_file = /etc/pki/dovecot/private/dovecot.pem
改为
ssl_cert_file = /etc/pki/tls/certs/dovecot.pem
ssl_key_file = /etc/pki/tls/certs/dovecot.pem
接着重启dovecot服务
service dovecot restart
收发邮件测试
关于Foxmail的使用
1 分别设定邮箱账户为alading@rhce.com,alading@example.com,SMTP/POP3的服务器IP分别为192.168.100.102/101;
2 用这两个账户相互发送邮件即可完成测试
注:
1 默认情况下不可以登录到root的邮箱接受邮件,但可以用于发送,所以这里采用普通用户alading;
2 如果普通用户不能登录到邮箱,用passwd 设置密码后,再打开foxmail的邮箱账户设置,设置邮件服务器里头的高级设置,点中SMTP与POP3的SSL连接再试试;
Sendmail的伪装
SendMail对本服务器所有发出的邮件进行地址伪装(自动修改发件人地址)。 全局伪装 全局伪装针对所有本区域用户,此功能需修改/etc/mail/sendmail.mc文件,下面的例子中所有发住外部区域的邮件收件人所有区域自动修改为zhangqin.com:
指定用户伪装 指定用户的地址伪装,该功能只能用于收件人是外部域。这个可以和全局地址伪装同时使用。下面的例子中将所有user7@example.zqin发出的邮件发件人修改为zhangqin@rhel.com。
建立用户列表。 在lost-hosts-names中加入虚拟区域名称 |
linux下搭建带有方病毒和反垃圾邮件的sendmail邮件系统
一,安装sendmail并修改配置文件
1.修改sendmail的配置文件sendmail.mc
找到DAEMON_OPTIONS(`Port=smtp,Addr=192.168.1.156, Name=MTA')dnl修改成:
dnl #DAEMON_OPTIONS(`Port=smtp,Addr=192.168.1.156, Name=MTA')dnl
找到FEATURE(`accept_unresolvable_domains')dnl修改成:
dnl #FEATURE(`accept_unresolvable_domains')dnl
2.生成新的sendmail.cf
m4 /etc/mail/sendmail.mc>/etc/mail/sendmail.cf
二,安装spamassassin
三,安装MailScanner并修改配置文件
修改mailscanner的配置文件注意一下选项做了正确配置
vi /etcMailScanner/MailScanner.conf
%org-name% = lrq.com
%org-long-name% = lrq.com
%web-site% = www.lrq.com
%etc-dir% = /etc/MailScanner
MTA = sendmail
Virus Scanning = yes
Virus Scanners = mcafee
Deliver Cleaned Messages = yes
Virus Subject Text = {Virus?}
Spam Subject Text = {Spam?}
Spam Checks = yes
Use SpamAssassin = yes
Required SpamAssassin Score = 6
High SpamAssassin Score = 10
Spam Actions = deliver header "X-Spam-Status: Yes"
四,客户端收发邮件,在服务器上查看邮件日志
tail -f /var/log/maillog
日志的解释
Jan 1 22:33:21 fc8 sendmail[3840]: m01EXLxq003840: from=<lrq@lrq.com>, size=419, class=0, nrcpts=1, msgid=<003301c84de0$28eccdc0$7601a8c0@benetlrq>, proto=SMTP, daemon=MTA, relay=[192.168.1.118]
解释:sendmail收到一份邮件编号是:m01EXLxq003840,这封邮件的发信人是lrq@lrq.com,邮件大小419个字节,客户机的主机名是:benetlrq(其实是benet-lrq中间的-被忽略掉了),发件人是使用smtp协议从192.168.1.118上发送的邮件
Jan 1 22:33:24 fc8 MailScanner[2983]: New Batch: Scanning 1 messages, 797 bytes
解释:mailscanner开始垃圾邮件扫描
Jan 1 22:33:33 fc8 MailScanner[2983]: Virus and Content Scanning: Starting
解释:mailsacnner开始病毒扫描
Jan 1 22:33:38 fc8 MailScanner[2983]: Uninfected: Delivered 1 messages
解释:邮件没有病毒,成功传递
Jan 1 22:33:39 fc8 sendmail[3848]: m01EXLxq003840: to=<lrq@lrq.com>, ctladdr=<lrq@lrq.com> (500/500), delay=00:00:18, xdelay=00:00:00, mailer=local, pri=120419, dsn=2.0.0, stat=Sent
解释:sendmail把经过扫描的邮件进行了投递
Jan 1 22:33:58 fc8 dovecot: pop3-login: Login: user=<lrq>, method=PLAIN,ip=192.168.1.118, lip=192.168.1.156
解释:192.168.1.118的客户端通过pop3协议登录系统收取邮件
Jan 1 22:33:58 fc8 dovecot: POP3(lrq): Disconnected: Logged out top=0/0, retr=1/1049,del=1/1, size=1032
转载于:https://blog.51cto.com/yangtong/476873
搭建sendmail邮件服务器相关推荐
- 在RHEL-4下半小时搭建Sendmail邮件服务器(下)
上一篇已经介绍了SMTP部分的相关搭建,现在来说说POP3或者IMAP的部分,只 有客户端跟邮件服务器同时支持SMTP和POP3/IMAP,才能实现完整的邮件收发功能. sendmail服务器不为MU ...
- linux搭建sendmail邮件服务器,Linux系统Sendmail架设Mail服务器
一.安装Sendmail 完全安装Red Hat Linux 9.0时,Sendmail就会自动内置,版本号为8.12.8-4.如果你不确定Linux是否已经安装有sendmail,可以输入以下命令查 ...
- 【实战】使用Java结合Sendmail邮件服务器+Quartz开源框架定时发邮件
[实战]废话不多说,直接教你如何搭建以及使用,具体细节需要你自己细细品味. 环境:Centos7,window10 64bit 第一步: 搭建Sendmail邮件服务器.[不能在本地linux搭建,因 ...
- RedHat el5.0 搭建 Postfix 邮件服务器系统一
RedHat el5.0 搭建 Postfix 邮件服务器系统 (postfix+cyrus-sasl2+courier-authlib+courier- ...
- linux 下邮件服务器,Linux 下搭建Postfix邮件服务器
Linux 下搭建Postfix邮件服务器详解: 1.首先关闭sendmail服务 service sendmail stop 2.chkconfig sendmail off(关闭开机自启动) 3. ...
- 安装搭建zimbra邮件服务器(dns域名解析)
安装搭建zimbra邮件服务器(yum搭建,dns搭建) 简介: Zimbra与众不同的特点是其"Zimlet"网络服务提供了更多的电子邮件功能.例如,人们可以简单地用鼠标点击电子 ...
- linux下简单的邮件服务器搭建,linux中搭建简单邮件服务器
linux中搭建简单邮件服务器 发布时间:2008-09-29 10:06:09来源:红联作者:tvnet 在rh5下默认是安装sendmail的,也就是说可以实现发信了,如果要实现在oe中接收信件, ...
- Linux搭建Postfix邮件服务器
第一章:实验环境和目标 1.实验环境 Vm虚拟机安装CentOs7系统 CentOs7的IP地址:192.168.81.133 Win7客户端(测试用),有Xshell或者SecureCRT工具 2. ...
- Linux中搭建 Postfix 邮件服务器
搭建背景:公司决定搭建邮件服务器,实现内部和外部交流的电子化,因为Linux系统稳定.安全性较好,该公司决定在Linux系统中搭建postfix邮件服务器,邮件服务器mail.pengqi.com能够 ...
- 阿里云ECS CentOS6.5搭建iRedMail邮件服务器
阿里云ECS CentOS6.5搭建iRedMail邮件服务器 0 . 注册域名:例:geekds.com 然后:进入你申请域名的网站(如万网或新网),域名管理–>我的域名–>管理–> ...
最新文章
- 机械键盘连击怎么处理_怎么选择机械键盘?各种平价机械键盘推荐
- 网络技术温故知新(一)
- 【转】Hadoop集群添加磁盘步骤
- Wireshark抓取RTP包,还原语音
- 快速排序的实现及优化
- 云未来、新可能 - 绿色、无处不在、可信的计算
- [SDOI2011]染色
- linux 启动rsyslog服务_linux rsyslog服务部署
- 计算机gt的使用方法,旗舰级综合效果器 BOSS GT-1000使用宝典(二) | 基础操作
- android+geturl+方法,浅入浅出Android(014):HTTP GET获取文本内容
- url存在宽字节跨站漏洞_【XSS漏洞】XSS漏洞相关总结v1.0
- c#实现16进制和字符串之间转换的代码
- c语言输入字符串做四则运算,C++字符串四则运算实例讲解
- python修改html,Python爬虫精简步骤 HTML基础
- 【深度学习】【ICLR2019】DARTS代码解读
- Python012--python3.7在本地及虚拟机上的安装与配置
- 输入法公司Kika完成2.2亿B+轮融资 猎豹移动领投
- 【我的Android进阶之旅】Configuration 'compile' is obsolete and has been replaced with 'implementation' and
- 图解 OSPF :什么是 LSA ?
- 熔断器熔断时间标准_保险丝熔断时间标准 保险丝熔断标准
热门文章
- 微信小程序左右菜单mysql_微信小程序tab左右滑动切换功能的实现代码
- mysql用foreach遍历,ForEach-Object循环遍历MySql DataTable第一行空白
- 素因子分解算法python语言_python中求取最小公倍数的两种方法
- MultiRow发现之旅(五)- MultiRow版俄罗斯方块(exe + 源码)
- 2星|《零工经济》:缺少对数据、事实、概括、分析,基本是流于表面的畅想...
- linux中的‘make’和‘makefile’
- java技术类网站收录
- Hibernate 主键策略
- 第二章 oracle 10g体系结构及安全管理
- PHP正则表达式转义符对照