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:

MASQUERADE_AS(`zhangqin.com’)dnl      #复制修改为要伪装的域名
FEATURE(masquerade_envelope)dnl       #这句有例句就在第一句的下几行,取消注释即可
FEATURE(masquerade_entire_domail)dnl   #这句有例句就在第一句的下几行,取消注释即可

指定用户伪装

指定用户的地址伪装,该功能只能用于收件人是外部域。这个可以和全局地址伪装同时使用。下面的例子中将所有user7@example.zqin发出的邮件发件人修改为zhangqin@rhel.com。
修改/etc/mail/sendmail.mc文件。

FEATURE(genericstable)dnl                    #需要输入,genericstable文件需要新建
MASQUERADE_AS(`always_add_domain’)dnl     #这句配置文件中有,不需修改
GENERICS_DOMAIN_FILE(`/etc/mail/local-host-names’)dnl     #需要输入

建立用户列表。

在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邮件服务器相关推荐

  1. 在RHEL-4下半小时搭建Sendmail邮件服务器(下)

    上一篇已经介绍了SMTP部分的相关搭建,现在来说说POP3或者IMAP的部分,只 有客户端跟邮件服务器同时支持SMTP和POP3/IMAP,才能实现完整的邮件收发功能. sendmail服务器不为MU ...

  2. linux搭建sendmail邮件服务器,Linux系统Sendmail架设Mail服务器

    一.安装Sendmail 完全安装Red Hat Linux 9.0时,Sendmail就会自动内置,版本号为8.12.8-4.如果你不确定Linux是否已经安装有sendmail,可以输入以下命令查 ...

  3. 【实战】使用Java结合Sendmail邮件服务器+Quartz开源框架定时发邮件

    [实战]废话不多说,直接教你如何搭建以及使用,具体细节需要你自己细细品味. 环境:Centos7,window10 64bit 第一步: 搭建Sendmail邮件服务器.[不能在本地linux搭建,因 ...

  4. RedHat el5.0 搭建 Postfix 邮件服务器系统一

    RedHat el5.0 搭建 Postfix 邮件服务器系统                        (postfix+cyrus-sasl2+courier-authlib+courier- ...

  5. linux 下邮件服务器,Linux 下搭建Postfix邮件服务器

    Linux 下搭建Postfix邮件服务器详解: 1.首先关闭sendmail服务 service sendmail stop 2.chkconfig sendmail off(关闭开机自启动) 3. ...

  6. 安装搭建zimbra邮件服务器(dns域名解析)

    安装搭建zimbra邮件服务器(yum搭建,dns搭建) 简介: Zimbra与众不同的特点是其"Zimlet"网络服务提供了更多的电子邮件功能.例如,人们可以简单地用鼠标点击电子 ...

  7. linux下简单的邮件服务器搭建,linux中搭建简单邮件服务器

    linux中搭建简单邮件服务器 发布时间:2008-09-29 10:06:09来源:红联作者:tvnet 在rh5下默认是安装sendmail的,也就是说可以实现发信了,如果要实现在oe中接收信件, ...

  8. Linux搭建Postfix邮件服务器

    第一章:实验环境和目标 1.实验环境 Vm虚拟机安装CentOs7系统 CentOs7的IP地址:192.168.81.133 Win7客户端(测试用),有Xshell或者SecureCRT工具 2. ...

  9. Linux中搭建 Postfix 邮件服务器

    搭建背景:公司决定搭建邮件服务器,实现内部和外部交流的电子化,因为Linux系统稳定.安全性较好,该公司决定在Linux系统中搭建postfix邮件服务器,邮件服务器mail.pengqi.com能够 ...

  10. 阿里云ECS CentOS6.5搭建iRedMail邮件服务器

    阿里云ECS CentOS6.5搭建iRedMail邮件服务器 0 . 注册域名:例:geekds.com 然后:进入你申请域名的网站(如万网或新网),域名管理–>我的域名–>管理–> ...

最新文章

  1. 机械键盘连击怎么处理_怎么选择机械键盘?各种平价机械键盘推荐
  2. 网络技术温故知新(一)
  3. 【转】Hadoop集群添加磁盘步骤
  4. Wireshark抓取RTP包,还原语音
  5. 快速排序的实现及优化
  6. 云未来、新可能 - 绿色、无处不在、可信的计算
  7. [SDOI2011]染色
  8. linux 启动rsyslog服务_linux rsyslog服务部署
  9. 计算机gt的使用方法,旗舰级综合效果器 BOSS GT-1000使用宝典(二) | 基础操作
  10. android+geturl+方法,浅入浅出Android(014):HTTP GET获取文本内容
  11. url存在宽字节跨站漏洞_【XSS漏洞】XSS漏洞相关总结v1.0
  12. c#实现16进制和字符串之间转换的代码
  13. c语言输入字符串做四则运算,C++字符串四则运算实例讲解
  14. python修改html,Python爬虫精简步骤 HTML基础
  15. 【深度学习】【ICLR2019】DARTS代码解读
  16. Python012--python3.7在本地及虚拟机上的安装与配置
  17. 输入法公司Kika完成2.2亿B+轮融资 猎豹移动领投
  18. 【我的Android进阶之旅】Configuration 'compile' is obsolete and has been replaced with 'implementation' and
  19. 图解 OSPF :什么是 LSA ?
  20. 熔断器熔断时间标准_保险丝熔断时间标准 保险丝熔断标准

热门文章

  1. 微信小程序左右菜单mysql_微信小程序tab左右滑动切换功能的实现代码
  2. mysql用foreach遍历,ForEach-Object循环遍历MySql DataTable第一行空白
  3. 素因子分解算法python语言_python中求取最小公倍数的两种方法
  4. MultiRow发现之旅(五)- MultiRow版俄罗斯方块(exe + 源码)
  5. 2星|《零工经济》:缺少对数据、事实、概括、分析,基本是流于表面的畅想...
  6. linux中的‘make’和‘makefile’
  7. java技术类网站收录
  8. Hibernate 主键策略
  9. 第二章 oracle 10g体系结构及安全管理
  10. PHP正则表达式转义符对照