热门标签 | 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认证将阻止其转发邮件,不管是对外转发还是对内部发送。


推荐阅读
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 本文介绍如何在Linux Mint系统上搭建Rust开发环境,包括安装IntelliJ IDEA、Rust工具链及必要的插件。通过详细步骤,帮助开发者快速上手。 ... [详细]
  • 本文详细介绍了如何正确配置Java环境变量PATH,以确保JDK安装完成后能够正常运行。文章不仅涵盖了基本的环境变量设置步骤,还提供了针对不同操作系统下的具体操作指南。 ... [详细]
  • 本文将详细介绍通过CAS(Central Authentication Service)实现单点登录的原理和步骤。CAS由耶鲁大学开发,旨在为多应用系统提供统一的身份认证服务。文中不仅涵盖了CAS的基本架构,还提供了具体的配置实例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 请看|间隔时间_Postgresql 主从复制 ... [详细]
  • 本文介绍了如何在 Ubuntu 18.10 Cosmic 停止官方支持后,通过更换软件源来解决 `apt update` 失败的问题。 ... [详细]
  • 部署新的ASP.NET Web应用程序构建(主要涉及DLL文件更改)后,服务器上的CPU使用率每几秒就会飙升至100%,问题似乎源自lsass.exe进程。这一现象与应用程序部署之间是否存在直接关联? ... [详细]
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社区 版权所有