邮件服务器之sendmail的简单配置

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
.cn 域名,1个 12个月
简介:

邮件服务器之sendmail的简单配置

安装软件名  

1、 sendmail     sendmail主程序

2、 sendmail-cf   可以说是帮助理解sendmail语法配置

3、 m4          转换工具

rpm -ivh sendmail-cf-8.13.8-2.el5.i386.rpm

Sendmailm4系统默认应经安装(我的是RedHat5.4的版本)

[root@RHEL mail]# service sendmail start

启动 sendmail

[root@RHEL mail]# chkconfig sendmail on  开机启动

[root@RHEL mail]# netstat -tupln |grep 25

tcp        0      0 127.0.0.1:25   0.0.0.0:*          LISTEN      2774/sendmail: ace

先添加一个用户

[root@RHEL mail]# useradd user1

[root@RHEL mail]# echo "123" |passwd --stdin user1   设置密码

查看主机名

[root@RHEL mail]# hostname 

localhost

用系统root账户给user1账户发一封邮件,并查看

 

退去时,再次用mail命令查看时就会“No mail for user1”邮件被保存在自己的家目录下的mbox文件中,如上图:

退去时,不变。。。

此时监听的ip127.0.0.1,就是自能监听本机,其它的客户机不能用该机的25端口发邮件:如下:

编辑/etc/mail/sendmail.mc 将127.0.0.1改为0.0.0.0如下:

DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl

重启sendmail服务,用客户机给root发一封垃圾邮件,并查看

 

      以上可以看出sendmail 无身份验证,无加密、无防垃圾邮件的功能。但它简单易用,可以配合第三方软件来实现以上功能。所以市场份额占据50%左右

下面通过一个小实例再来深入一下:

Ip地址为192.168.2.100mail服务器的域名为wsm.com 和两个邮件用户分别为user1user2

Ip地址为192.168.2.200mail服务器的域名为qq.com和两个邮件用户分别为user3user4

拓扑图如下:

1、 首先安装DNS服务 相关rpm包如下:

rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm

rpm -ivh bind-chroot-9.3.6-4.P1.el5.i386.rpm

rpm -ivh caching-nameserver-9.3.6-4.P1.el5.i386.rpm

cd /var/named/chroot/etc

cp -p named.caching-nameserver.conf named.conf

vim named.conf  修改为如下:

listen-on port 53 { any; };

allow-query     { any; };

allow-query-cache { any; };

match-clients      { any; };

match-destinations { any; };

vim named.rfc1912.zones 添加如下5

zone "qq.com" IN {

        type master;

        file "qq.com.zone";

        allow-update { none; };

};

cd /var/named/chroot/var/named/

cp -p localhost.zone qq.com.zone

vim qq.com.zone 如下:

注:vim /etc/resolv.conf 确保自己的DNS的指向为本机

启动DNS服务

(关于DNS的详细配置请参考http://abc16810.blog.51cto.com/3177586/1032963一文

在邮件客户端中如outlookuser1给自己发一封邮件(确保客户机的dns指向为192.168.2.200DNS服务器) 在客户端测试一下DNS配置是否成功。

客户机能解析mail.qq.com的地址 ok

Outlook配置完成后就基本上是这样的

好嘞,下面用user1给自己发一封邮件!!!!!!!!!

点击“发送” 由日志可以看出已经成功发送

Sep 23 14:05:48 localhost sendmail[3007]: q8N65mPe003007: from=<user1@qq.com>, size=427, class=0, nrcpts=1, msgid=<001301cdc0d1$0fffe9a0$0a02a8c0@wsmkiss>, proto=SMTP, daemon=MTA, relay=[192.168.2.10]

Sep 23 14:05:48 localhost sendmail[3009]: q8N65mPe003007: to=<user1@qq.com>, ctladdr=<user1@qq.com> (501/501), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30594, dsn=2.0.0, stat=Sent

mail服务器上User1接收到了

编辑vim /etc/mail/local-host-names  添加两句话如下:(域名为qq.com的邮件服务器)

qq.com

mail.qq.com

编辑vim /etc/mail/local-host-names  添加两句话如下:(域名为wsm.com的邮件服务器)

wsm.com

wsm.qq.com

outlookuser1能不能接受呢,答案是肯定不能,因为mail服务器才监听了25端口即smtp协议,pop3imap4相应的协议还没安装,这要靠dovecot来支持啦。。最好yum安装,

yum -y install dovecot

service dovecot start  开启dovecot服务

2、 配置域名为wsm.commail服务器,这与步骤1、基本相同,这里我就不详细说了

在底下我已经配置好了,并为域名为qq.commail服务器再建一个user3用户

3、 按照我们的要求,user1用户给user3用户发送一封邮件,user3用户再给user1用户发送一封邮件,使彼此都能够发送邮件。

user1@wsm.comuser3qq.com发送一封邮件先 会报错 查看日志如下:

Sep 13 02:59:48 localhost sendmail[17190]: q8CIxlRW017190: ruleset=check_rcpt, arg1=<user3@qq.com>, relay=[192.168.2.20], reject=450 4.4.0 <user3@qq.com>... Relaying temporarily denied. Cannot resolve PTR record for 192.168.2.20

Sep 13 02:59:48 localhost sendmail[17190]: q8CIxlRW017190: from=<user1@wsm.com>, size=0, class=0, nrcpts=0, proto=SMTP, daemon=MTA, relay=[192.168.2.20]

基本意思就是没有中继 这是因为默认不中继

编辑域名为wsm.commail服务器的/etc/mail/access 中继文件添加如下内容:

wsm.com                                 OK

qq.com                                 RELAY

编辑域名为qq.commail服务器的/etc/mail/access 中继文件添加如下内容:

qq.com                                    OK

wsm.com                                 RELAY

分别重启两台mail服务器的sendmail服务

分别修改两台主机的主句名如下:

vim /etc/sysconfig/network 修改为如下

HOSTNAME=mail.qq.com

hostname mail.qq.com

vim /etc/sysconfig/network

HOSTNAME=mail.wsm.com

hostname mail.wsm.com

再次user1@wsm.comuser3qq.com发送一封邮件先 有报错!!! 查看日志如下:

Sep 13 03:08:35 localhost sendmail[17254]: q8CJ8YDa017254: from=<user1@wsm.com>, size=1221, class=0, nrcpts=1, msgid=<782BF4FBF3144C00AB87568CB8C82DDB@wsm5511ffd55a4>, proto=SMTP, daemon=MTA, relay=[192.168.2.20]

Sep 13 03:08:35 localhost sendmail[17254]: q8CJ8YDa017254: to=<user3@qq.com>, delay=00:00:00, mailer=esmtp, pri=31221, dsn=4.4.3, stat=queued

这与上变的错误已经不一样了,这可能是DNS转发的问题:

编辑wsm.commail服务器的/var/named/chroot/etc/named.conf  DNS的主配置文件 在option中添加如下内容:

forwarders { 192.168.2.200; };

编辑qq.commail服务器的/var/named/chroot/etc/named.conf  DNS的主配置文件 在option中添加如下内容:

forwarders { 192.168.2.100; };

分别重启两台mail服务器的named服务

大约1-2分钟后可以看到日志已经发送成功。

这样速度很慢,我们要配合反向DNS解析动能 (mail服务器需要配合DNS反向解析)

两台mail服务器的DNS反向解析的区域文件分版本 添加一个PTR指针如下:

 域名为qq.commail服务器           200          IN PTR  mail

 域名为wsm.commail服务器          100          IN PTR  mail

重启DNS服务,,

 再次发送就没问题了。

如有疑问,,欢迎回复。。。




本文转自 abc16810 51CTO博客,原文链接:http://blog.51cto.com/abc16810/1059234

相关文章
|
19天前
|
监控 安全 Linux
RHEL 环境下 Subversion 服务器部署与配置
【10月更文挑战第18天】在RHEL环境下部署Subversion服务器需依次完成安装Subversion、创建版本库、配置服务器、启动服务、客户端连接及备份维护等步骤。确保遵循安全最佳实践,保障数据安全。
|
16天前
|
JSON JavaScript 前端开发
《进阶篇第6章:vue中的ajax》包括回顾发送ajax请求方式、vue-cli脚手架配置代理服务器、vue-resource
《进阶篇第6章:vue中的ajax》包括回顾发送ajax请求方式、vue-cli脚手架配置代理服务器、vue-resource
53 22
|
1天前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
10天前
|
NoSQL Linux PHP
|
16天前
|
JavaScript 前端开发 Java
vue2知识点:vue-cli脚手架配置代理服务器
vue2知识点:vue-cli脚手架配置代理服务器
47 7
|
16天前
|
前端开发 JavaScript Java
第6章:Vue中的ajax(包含:回顾发送ajax请求方式、vue-cli脚手架配置代理服务器)
第6章:Vue中的ajax(包含:回顾发送ajax请求方式、vue-cli脚手架配置代理服务器)
46 4
|
20天前
|
安全 Linux 数据安全/隐私保护
RHEL 环境下 Subversion 服务器部署与配置
【10月更文挑战第17天】在RHEL环境下部署Subversion服务器包括安装Subversion、创建和配置版本库、启动服务器、客户端连接以及备份与恢复等步骤。通过这些步骤,可确保服务器的安全性和稳定性,满足版本控制需求。
|
20天前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
168 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
17天前
|
弹性计算 应用服务中间件 网络安全
ECS服务器使用:SSL证书安装、配置和问题定位指南
本文简要介绍了SSL证书的生成与部署方法,包括使用OpenSSL生成自签名证书和从CA获取证书的步骤,以及在Apache和Nginx服务器上的配置方法。此外,还提供了测试证书是否生效的方法和常见问题的解决策略,帮助确保证书正确安装并解决调试过程中可能遇到的问题。
102 0
|
17天前
|
弹性计算 安全 网络协议
如何创建VPC并配置安全组以保护您的阿里云服务器
如何创建VPC并配置安全组以保护您的阿里云服务器

热门文章

最新文章