sendmail服务器案例配置
Linux/UNIX下的老牌邮件服务器。Sendmail作为一种免费的邮件服务器软件,已被广泛的应用于各种服务器中,它在稳定性、可移植性、及确保没有bug等方面具有一定的特色,且可以在网络中搜索到大量的使用资料。
实验拓扑图:
注:163主机与sina主机的hostname千万不要相同,也可以自己修改成相应的域名,如hostname本来为localhost.localdomain,改为mailserver.163.com(名字可自己定义,通常是: 主机名称 . 域名)
1.安装配置dns
修改/var/named/chroot/etc/named.conf文件,
修改named.rfc1912.zones,添加如下内容:
zone "163.com" IN {
type master;
file "163.com.zone";
allow-update { none; };
};
zone "142.168.192.in-addr.arpa" IN {
type master;
file "192.168.142.local";
allow-update { none; };
};
引动dns服务,并设置开机启动
[root@host etc]# service named start
启动 named: [确定]
[root@host etc]# chkconfig named on
2.好下面来安装并配置sendmail吧
首先采用yum安装这四个相关包:
sendmail、sendmail-cf、dovecot [接收邮件 pop3/imap]、m4 (负责转化,使用修改sendmail.mc--通过转换来使/etc/mail/sendmail.cf生效)
修改配置文件
1)/etc/mail/sendmail.mc
116 DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
[将127.0.0.1改为0.0.0.0]
2)/etc/mail/local-host-names
# local-host-names - include all aliases for your machine here.
163.com
mail.163.com
/etc/mail/access 设置中继
3)启动sendmail和dovecot服务
[root@localhost mail]# service sendmail restart
关闭 sm-client: [确定]
关闭 sendmail: [确定]
启动 sendmail: [确定]
启动 sm-client: [确定]
[root@localhost mail]# service dovecot start
启动 Dovecot Imap: [确定]
注:Sendmail: localhost.localdomain 的问题
当你用 telnet127.0.0.1 25 测试时,若出现 localhost.localdomain, 表示 Linux Server 的 tname设定有误,这个问题并不大因为它还是可以正常的收、发e-mail. 但是, 若寄给同样是 localhost.localdomain 的 mail server时,问题就来了。
情况如下:
1. 收到退回的信件, 內容是:
553 5.3.5 对方的hostname. config error: mail loops back to me (MX problem?)
554 5.3.5 Local configuration error
2. 本机 /var/log/maillog 日志记录出现:
SYSERR(root): 对方的hostname. config error: mail loops back to me (MX problem?)
3. 对方的 /var/log/maillog 日志记录出现:
本机IP did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA
原因:
由于本机名称是localhost.localdomain, 邮件发出后, 若对方Sendma主机名称也是 localhost.localdomain 时, 信件会回到本机邮件服器上, 无法寄到对方邮箱中,
如本案例中的163.com与sina.com均是localhost.localdomain,虽然感觉可以正常发送,就是没有接收到邮件,不要急,看一下日志吧,就知道了,应该是上面例出的错误,并且邮件的状态是queued,那就按照下面的方法来修改一下主机名hostname吧,
解決方法:
1. 知道自己正确的 hostname 是什么 (通常是: 主机名称.域名, 如: local.163.com, 其中 local 是主机名称; 163.com 是域名)
2. cat /etc/sysconfig/network, 查看 hostname 是否设定正确, 若不正确请修改后, 执行:
[root@local ~]# hostname 正确的hostname
3. cat /etc/hosts 检查 127.0.0.1 那一行是否只有 localhost 与localhost.localdomain 这两种叙述. 若否, 要清除不相干的敘述,
其时也可以添加域名如: 127.0.0.1 localhost.localdomain 163.com (各自服务器的域名,也可以不加,但要加时要注意不要加主机名,如mail.163.com,这样就错了,你会发现你你邮件地址会变为user@mail.163.com,而不是你想要的user@163.com,这可能是我sendmail的设置问题,可以自己尝试一下,推荐不用修改该文件即可)
4. /etc/rc.d/init.d/sendmail restart 重新启动 Sendmail
这样就可以了,
4)使用telnet命令访问邮件服务
a.测试smtp,telnet 192.168.142.2 25
① smtp默认端口是tcp的25,所以使用telnet登录到smtp服务器的25号端口。
② 通过helo向smtp服务器表明自己的身份
③ 通过mail from 命令指定发件人为user1@163.com
④ 通过rcpt to命令指定第一个收件人为user1@163.com
⑤ 通过data命令开始写邮件正文
⑥ 写邮件正文并通过“.”命令指定邮件书写完毕。
⑦ 断开连接。
b.测试pop3
直接使用telnet命令连接到pop3服务器110端口,就可以使用如下命令操作pop3服务,
① user 用户名:指定访问pop3服务的用户名;
② pass 密码:指定访问pop3服务的密码;
③ stat: pop3服务器返回邮箱统计资料,比如邮件数、邮件总字节数等
④ uidl 邮件编号:pop3服务器返回指定邮件的惟一标识,如果不指定邮件编号,则返回所有邮件的信息
⑤ list 邮件编号:pop3服务器返回指定邮件的信息,比如大小等,如果不指定邮件编号,则返回所有邮件的信息
⑥ retr 邮件编号:pop3服务器返回指定邮件的全部文本
⑦ dele 邮件编号:pop3服务器将指定邮件标记为删除,quit命令执行时才真正删除。
⑧ rset 邮件编号:pop3服务器将指定邮件删除标记清除
⑨ top 邮件编号行数:pop3服务器返回指定邮件正文的前几行。
5)测试过了,那我们就找一个192.168.142.5的客户机来测试,先给自己发一封邮件,
6.经测试如下图,正常,也可以正常接收:
二、sina.com域dns、mail服务器配置
注:163.com域一切正常了,那就来修改一下sina.com域吧,配置方式与163.com域基本相同,就是所针对的域不同,
1.首先配置dns正向与反向
2.启动dns服务,并做反向测试
3.sendmail的安装同163.com域,针对的local-host-names不同,只需要修改如下:
/etc/mail/local-host-names
# local-host-names - include all aliases for your machine here.
sina.com
mail.sina.com
4.配置后,启动sendmail和dovecot服务。
三、测试阶段
两个域都配置完成,就来测试吧,
1.在192.168.142.10的客户机上给163.com域发送一封邮件,
2.发现如下错误:
3.因为我们没有设置dns转发,分别在各自的配置文件named.rfc1912.zones添加如下内容:
163.com
zone "sina.com" IN {
type forward;
forwarders {192.168.142.3; };
};
sina.com
zone "163.com" IN {
type forward;
forwarders {192.168.142.2; };
};
4.加上后,重启dnse服务,再次测试,发现如下图:
也可以通过/var/log/maillog日志文件来查看
5.修改/etc/mail/access,因为默认情况下是不支持中继的,
6.修改过之后就可以正常发送了,
现在到192.168.142.2的主机上163.com域上接收,但回复时也会出现如上的错误,
也在/etc/mail/access做如下修改,
7.重启sendmail服务后,发现就可以正常中继,接收邮件了,
测试正常,实验结束喽
转载于:https://blog.51cto.com/colynn/1058415
sendmail服务器案例配置相关推荐
- Sendmail服务器的配置
Sendmail服务器的配置 配置ip地址,网络,安装光盘. 1. 安装所需软件包: system-config-bind:DNS服务器图形化配置软件 sendmail-cf:提供send ...
- sendmail mysql_CentOS配置sendmail服务器命令详解
CentOS配置sendmail服务器命令详解 [root@localhost ~]# rpm -q sendmail package sendmail is not installed [root@ ...
- linux日志采集配置,linux下配置rsyslog日志收集服务器案例
原标题:linux下配置rsyslog日志收集服务器案例 环境配置 centos6系统 client1:192.168.1.33 centos7系统 client2:192.168.1.44 cent ...
- 科达实战应用平台服务器ip,H3C ME5000与科达MCU KDV8000A级联的互通案例配置
H3C ME5000与科达MCU KDV8000A级联的互通案例配置 一.组网需求: 由于经常遇到科达与我司视频会议系统互通测试,包括终端之间点对点互通,科达的MCU调度我司终端,科达与我司MCU级联 ...
- 配置与管理sendmail服务器
这里写目录标题 一.电子邮件系统的组成 1.MUA 2.MTA 3.MDA 4.MUA,MTA,MDA的协同工作 二.与电子邮件相关的协议 三.邮件中继 四.Sendmail常规服务器配置 1.Sen ...
- 虚拟机配置Sendmail服务器
一.配置DNS服务器 1.编辑/var/named/lye.com.hosts区域文件 2.重新启动named服务 [root@rhel ~]#systemctl restart named.serv ...
- 科达录播服务器修改ip,科达视频会议终端KDV8010A与H3C MG6060点对点互通案例配置...
科达视频会议终端KDV8010A与H3C MG6060点对点互通案例配置 一.组网需求: 由于经常遇到科达与我司视频会议系统互通测试,包括终端之间点对点互通,科达的MCU调度我司终端等等.所以输出此篇 ...
- YUM(Yellow gog Updater Modifie)服务器的配置
YUM(Yellow gog Updater Modifie)服务器的配置 1.yum是什么 Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHa ...
- LNMP(linux+nginx+mysql+php)服务器环境配置
LNMP(linux+nginx+mysql+php)服务器环境配置 一.简介 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为 "engine X", ...
最新文章
- 制作一个老旧C118的GSM便携式测试设备
- mysqldump 备份报错
- Android源码分析-全面理解Context
- java 火星坐标转wgs84_js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
- curl 命令-接口测试
- Ubuntu18.04 orb-slam3编译出现的错误 undefined reference to symbol ‘_ZN3MPI8Datatype4FreeEv‘ libmpi_cxx.so
- 超详细设置Idea类注释模板和方法注释模板
- 支持向量机算法+数据读取+多倍交叉验证实现
- android自定义通知栏_推送图片
- 2-14-Multiple Exemplars-based Hallucination for Face Super-resolution and Editing(ACCV2020)
- Python爬虫实战(2)之爬取NBA球队各个球员头像图片
- Windows XP迎来20岁生日,仍有上百万用户坚守
- 我的言论05-04-06
- 导出datatable到excel然后让web客户端下载到本地
- linux格式化时设备或资源忙,Linux下使用fdisk命令和partprobe命令,在不重启系统的状况下新建分区并格式化...
- 【强哥推荐】VSCode常用快捷键配置文件表、代码片段,记得收藏
- php八进制十六进制,php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码...
- ADB Interface有黄色感叹号
- java中流转pdf_Java中的PDX到PDF转换器
- Android Sensor分析
热门文章
- 用IE重起计算机或者关机
- Web的桌面提醒(Popup)
- DataGrid连接Access的快速分页法(1)——需求与现状
- 用ASP.Net(C#)连接Oracle数据库的方法
- Nginx源码分析--基本数据类型的别名
- VirtualBox安装64位Linux
- C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——删除
- C++11中Lambda表达式的使用
- 主角用计算机控制身体,国漫段子手:绝技,用计算机控制挖掘机炒菜
- svn通讯协议_【SVN】——svn协议和http协议