热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

配置能SMTP认证的sendmail邮件服务器

一、所需系统:Linux(redhat9.0以上各个版本均可)二、所需组件(根据安装linux系统版本的不同,各组件版本号可能会有差异)Imap-xxxxx(redhat9.0版需要,其它版本不需要)sendmail-cf-8.14.1-4.2.fc8sendmail-8.14.1-4.2.fc8m4-1.4.10-1

 一、所需系统:

Linux (redhat 9.0以上各个版本均可)

二、所需组件(根据安装linux系统版本的不同,各组件版本号可能会有差异)

Imap-xxxxx(redhat 9.0版需要,其它版本不需要)

sendmail-cf-8.14.1-4.2.fc8

sendmail-8.14.1-4.2.fc8

m4-1.4.10-1.fc8

cyrus-sasl-lib-2.1.22-7

cyrus-sasl-md5-2.1.22-7

cyrus-sasl-plain-2.1.22-7

cyrus-sasl-2.1.22-7

cyrus-sasl-gssapi-2.1.22-7

三、/usr/lib/sasl2/Sendmail.conf与/usr/lib/sasl2/smtpd.conf内容设置

1、将两个文件内容修改成如下

#cat /usr/lib/sasl2/Sendmail.conf

pwcheck_method:saslauthd

#cat /usr/lib/sasl2/smtpd.conf

pwcheck_method:saslauthd

2、启动saslauthd服务

#service saslauthd restart

#chkconfig saslauthd on (设置成自启动)

3、检测SASL是否已经生效

#sendmail -d0.1 ?bv root |grep SASL(如果包含SASL,则说明SASL已经生效了)

NETUNIX NEWDB NIS PIPELINING SASLv2 SCANF SOCKETMAP STARTTLS

四、修改/etc/mail/sendmail.mc文件按如下方法修改

1、dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl(48行前面取消dnl注释)

TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

2、dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl(49行前面取消dnl注释)

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

3、dnl DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl(112行前面加dnl注释掉)

4、dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl(119行前面取消dnl注释,并修改成如下内容)

DAEMON_OPTIONS(`Port=25, Name=MSA')dnl

注意:sendmail8.13不用这么设置,否则系统日志中将出现如下错误信息:

Oct 15 14:34:25 router sendmail[23756]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MSA: cannot bind: Address already in use

Oct 15 14:34:25 router sendmail[23756]: daemon MSA: problem creating SMTP socket

5、执行如下命令生成sendmail.cf

#m4 /etc/mail/sendmail.mc>/etc/mail/sendmail.cf

五、重启sendmail服务

#killall ?HUP sendmail或#service sendmail restart

六、检验smtp验证是否成功

# telnet 127.0.0.1 25

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is '^]'.

220 localhost.localdomain ESMTP Sendmail 8.14.1/8.14.1; Fri, 17 Apr 2009 14:05:50 +0800

ehlo xxx.xxx.xxx.xxx(服务器名称)

250-localhost.localdomain Hello xxx.xxx.xxx.xxx  [127.0.0.1], pleased to meet you

250-ENHANCEDSTATUSCODES

250-PIPELINING

250-8BITMIME

250-SIZE

250-DSN

250-ETRN

250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN(出现此行,就说明配置成功)

250-DELIVERBY

250 HELP

七、配置dovecot

1、编辑/etc/dovecot.conf,若如下行被注释,则取消

protocols = imap imaps pop3 pop3s

2、启动dovecot服务(POP3

#service dovecot restart

#chkconfig dovecot on (设置为自动启动)

八、添加邮件服务器域名到/etc/mail/local-host-name中

如:mail.xxx.xxx.com等

十、个人理解

1、局域网内用户使用客户端收发邮件软件通过局域网内的同一台邮件服务器相互传递邮件,邮件服务器不进行SMTP认证,因为是在同一台邮件服务器内部用户间传递邮件,没有涉及到其它邮件服务器。(此时用户之间传递邮件就和没有SMTP认证一样,对于客户端收发邮件软件设置中的SMTP认证选项是一个可选项)

2、局域网内用户通过局域网内的一台邮件服务器向互联网用户发送邮件(涉及到其它邮件服务器及发生RELAY):

A、邮件服务器上ACCESS文件进行了相应的设置,其中有相关网段允许RELAY 的信息,如此主机就在允许的网段内则发送邮件邮件服务器不进行SMTP认证

B、邮件服务器上没有设置ACCESS文件,则网内用户发往互联网用户的邮件在邮件服务器上转发时邮件服务器要进行SMTP认证,对于非法用户将被拒绝转发。

3、邮件系统中已经存在的邮箱帐户符合以上规则。系统中不存在的帐户进行SMTP认证将阻止其转发邮件,不管是对外转发还是对内部发送。


推荐阅读
  • 本文探讨了服务器系统架构的性能评估方法,包括性能评估的目的、步骤以及如何选择合适的度量标准。文章还介绍了几种常用的基准测试程序及其应用,并详细说明了Web服务器性能评估的关键指标与测试方法。 ... [详细]
  • WebBenchmark:强大的Web API性能测试工具
    本文介绍了一款名为WebBenchmark的Web API性能测试工具,该工具不仅支持HTTP和HTTPS服务的测试,还提供了丰富的功能来帮助开发者进行高效的性能评估。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • Fiddler 安装与配置指南
    本文详细介绍了Fiddler的安装步骤及配置方法,旨在帮助用户顺利抓取用户Token。文章还涵盖了一些常见问题的解决方案,以确保安装过程顺利。 ... [详细]
  • Node.js在服务器上的多种部署策略
    本文探讨了Node.js应用程序在服务器上部署的几种有效方法,包括使用Screen、PM2以及通过宝塔面板进行简易管理。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • Ubuntu 14.04 系统安装后网卡名称修改方法
    本文介绍了在安装 Ubuntu 14.04 Server 版本后,如何将默认的网卡名称从非 eth 格式修改为传统的 eth 格式,并提供了详细的步骤和示例。 ... [详细]
  • 本文介绍了Tomcat的基本操作,包括启动、关闭及首次访问的方法,并详细讲解了如何在IDEA中创建Web项目,配置Servlet及其映射,以及如何将项目部署到Tomcat。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • 笔记说明重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系& ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • 本文详细介绍了Linux系统中常用的文件操作命令,包括echo用于输出内容至屏幕或文件,cat用于显示或合并文件内容,sed用于流编辑器功能,以及wc命令用于统计文件中的字节、行数和单词数量。通过具体示例加深理解。 ... [详细]
author-avatar
罗丹灬_853
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有