xml地图|网站地图|网站标签 [设为首页] [加入收藏]
CentOS sendmail安装及邮件域名配置
分类:网络频道

宝马娱乐在线 1

宝马娱乐在线 2

    昨天我接到徒弟的一个求助电话。他说他在Linux服务器上部署了Sendmail邮箱服务器。但是遇到了一个奇怪的问题。无法利用客户端软件来发送或者接收邮件。但是如果直接以Telnet的方式登录主机却可以正常的发送邮件。可见邮件服务器是部署正确的。那么到底是哪边出现问题了呢?这让他无从下手。

首先确认saslauthd服务是否安装或启动。

  1、 修改sendmail.cf配置文件。

生成Sendmail的配置文件:

  二、问题原因分析。

view plain  copysunchis.com 

  利用命令“vi /etc/mail/sendmail.cf”打开配置文件,然后再文件中间会找到有一条记录:O DaemounPortOpti=Port=smtp,Addr=127.0.0.1.若在配置文件中发现这条记录,就表示只有邮件主机可以发送邮件。也就是说,除了本机之外的其他任何主机都无法利用这台邮件服务器来发送邮件。为此要允许部署在其他主机上的邮件客户端发送邮件的话,必须更改这条记录。更改的方法也很简单,只需要把这个IP地址改为主机合法的IP地址。注意这里最好不要把地址改为服务器的域名,而直接改为IP地址为好。这可以减少一些不必要的域名解析动作。

# vi /etc/mail/access,添加

  一、故障现象重现。

这样,问题就会得到解决.

  经过一番努力的查找,终于发现原来是中继功能在作怪。原来在部署Sendmail服务器的时候,会关闭来自外部主机的邮件重件功能。换一句话说,此时邮件服务器之允许发送由本机发出去的电子邮件。而在客户端上发送邮件就会被遭到拒绝。其实在Sendmail服务器上做类似的限制,也是没有办法的事情。因为现在互联网上的广告邮件、病毒邮件太多。Sendmial的设计者本意是想通过这种方式来限制这些问题邮件对企业网络环境与操作系统的负面影响;但是没想到的是给用户部署邮件应用带来了麻烦。这是搬起石头砸自己的脚呀。因为关闭邮件中继功能后,用户在收发邮件的时候必须远程登录邮件主机,或者不使用邮件客户端来发送邮件,这都会引起用户的反感。因为会增加他们发送接收邮件的工作量。所以不管三七二十一,就把邮件中继功能禁用掉了,我认为这并不能够从根源来解决问题。

view plain  copy# yum install -y sendmail # yum install -y sendmail-cf 

宝马娱乐在线 3

MX记录(Mail Exchanger Record)主要是接收邮件时使用,即当投递一封新邮件时,会查询收件人域名的MX记录,然后通过MX记录得到的IP地址进行投递。同时邮件厂商在接收邮件的时候也会将源地址和MX记录进行比较,作为垃圾邮件的判断标准之一。

  利用命令“vi /etc/mail/access”可以打开access配置文件。默认情况下,这个配置文件的内容如下图所示。从这个文件中我们可以看到在默认情况下,只允许本机的终极功能,而不允许其他主机利用中继功能。为此要让其他主机上的客户端也能够使用邮件服务器上的中继功能的话,就需要修改这个配置文件。具体修改的方法如下:

出现 550 5.7.1 <[email protected]>... Relaying denied. IP name lookup failed [192.168.1.133] 异常时,原因是把sendmail当做邮件中转站,需要将客户端的IP地址加入到access配置文件中。

  三、适度开发邮件中继功能。

第一步:添加域名

  2、 修改ACCESS配置文件。

在CentOS下,sendmail一般默认是随操作系统一起安装的。如果安装系统时没有安装sendmail服务,手动安装sendmail也很简单:

  在企业中部署邮件应用的时候,中继功能还是必须的。大家可以通过以下的方式来开启邮件服务器的中继功能。

# vi /etc/mail/local-host-names,添加

  Sendmail服务器软件是Linux操作系统上使用的最广泛的邮件服务器,为此其与Linux操作系统的兼容性是很好的。所以这个故障不可能是邮件服务器的本身缺陷造成的。当部署好Sendmail邮件服务器之后,如果利用Outlook或者其他客户端软件来连接服务器的时候,客户端就会报错。根据客户端的错误提示信息,显示的是“登录邮件服务器时出错,用户名不对”。可是可以确性的是在配置客户端的时候,用户名与密码都是没有问题的。

第二步:添加域名MX记录

  一是要了解记录的格式。从上图中,我们可以看出这个配置文件记录的基本格式为 “允许中继功能的地址 允许中继功能的类型”。注意中间可以利用TAB符号来分根,而不用冒号等其他分隔符来分隔。这跟有些配置文件稍微有点不同。

找到修改域名信息的页面(不同的域名注册商页面不相同),修改结果因域名商的不同最迟会在24小时内生效。

  那么难道是这个用户名在邮件服务器上被拉入了黑名单吗?我又新建了一个邮箱帐户进行测试,可是错误依旧。那就说明这个问题也是帐户无关。客户端软件提供的错误提示信息是对我们的一种误导。其实不仅邮件客户端,好多应用程序提供的错误信息都不怎么符合。为此对于这些错误提示信息,我们只能够拿来参考,而不能够百分之百的相信他们。后来我又以SSH的方式登录到邮件服务器,发现此时邮件发送正常。这说明邮件服务器的配置也没有问题。Telent由于其安全性不高,用户名与密码在网络中是以明文形式传送的。为此不建议大家采用。

view plain  copydnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl 

配置sendmail使用合法的域名分两步,修改sendmail的配置文件和添加域名MX记录。

安装saslauthd服务:# yum install -y saslauthd

(1) 添加域名A记录mail,直接指向你的邮件服务器的静态IP地址:

需要重启Sendmail才能使配置文件生效。

(2) 修改submit.cf文件

# vi /etc/mail/submit.cf,找到行 #Dj$w.Foo.COM,修改为

http://www.bkjia.com/Linux/773705.htmlwww.bkjia.comtruehttp://www.bkjia.com/Linux/773705.htmlTechArticlesendmail是Linux下优秀的邮件系统。在不做任何设定的情况下,sendmail发出邮件的邮箱源地址形如[[email protected]](http://www.bkjia.com/cdn-cgi/l/email-protection),这种地址几乎会被所有的...

宝马娱乐在线,Sendmail的配置文件由m4来生成,m4工具在sendmail-cf包中。如果系统无法识别m4命令,说明sendmail-cf软件包没有安装。

# vi /etc/mail/sendmail.mc

2、 Senmail的SMTP认证配置(不需要认证的可忽略此步)

本文由宝马娱乐在线发布于网络频道,转载请注明出处:CentOS sendmail安装及邮件域名配置

上一篇:ubuntu下linux嵌入式开发环境配置(转) 下一篇:没有了
猜你喜欢
热门排行
精彩图文