热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

FreeBSD系统中sendmailsmtp的认证配置方法

因配置邮件发送服务器需要,开始配置sendmail,其中自然就涉及到SMTP认证的配置。FreeBSD系统本身已经安装了sendmail,不过因需要SMTP认证功能,所以一切都要重新配置。其实整个配置过程到也不是很复杂,基本上按照FreeBSD的配置手册上做就可以。详见

因配置邮件发送服务器需要,开始配置sendmail,其中自然就涉及到 SMTP认证的配置。

FreeBSD系统本身已经安装了sendmail,不过因 需要SMTP认证功能,所以一切都要重新配置。

其实整个配置过程到也不是很复杂,基本上按照 FreeBSD的配置手册上做就可以。

详见:http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/smtp-auth.html

不过其中有几个需要特别注意的地方:

1、因为我的需求没有太多用户需要管理,也不想邮件用户和系统用户混在一起,所以我采用的事默认的 Berkeley DB 来存储用户信息,这里如果按照默认的配置就无法实现用户的验证(此问题花了半天的时间才搞定)。

     需要修改saslauthd 的启动脚本 /usr/local/etc/rc.d/saslauthd

     将 saslauthd_flags=${saslauthd_flags:-"-a pms"} 改为 saslauthd_flags=${saslauthd_flags:-"-a sasldb"}

这样 saslauthd 才会使用 /usr/local/etc/sasldb2.db 的用户信息文件来验证用户登录。

2、因为需要重新make sendmail 时需要修改 /etc/make.conf 文件

    这里我也碰到一个问题:重新make出来的 sendmail 启动时无法加载 SASL2,

   Warning: Option: AuthMechanisms requires SASL support (-DSASL)

尝试多次后均没有解决问题。最后试着把 /etc/make.conf 文件中的其他配置项全部删除后重新make,终于启动成功。

附上我的最后make成功的 make.conf 文件内容(与上面的配置文档不太一样,应该都可以)

PERL_VERSION=5.10.1
SENDMAIL_CFLAGS+=   -I/usr/local/include -DSASL=2
SENDMAIL_LDFLAGS+=  -L/usr/local/lib
SENDMAIL_LDADD+=    -lsasl2

另:重新编译生成的 sendmail 文件的目录在 /usr/libexec/sendmail/ 下。

如果使用原来的路径文件还是会报上面的错误。

可直接修改 sendmail 启动脚本  /etc/rc.d/sendmail

将 command=${sendmail_program:-/usr/sbin/${name}}  修改为:

command=${sendmail_program:-/usr/libexec/sendmail/${name}}

3、最后一个问题就是 /etc/mail/freebsd.mc 文件

我最后使用的事在该配置文件的后面加上

dnl set SASL options
TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 EXTERNAL LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 EXTERNAL LOGIN PLAIN')dnl

因为文档中所提供的认证方式没有包含我们正在使用的认证方式,其实其他的两个认证方式 DIGEST-MD5 CRAM-MD5 也可以去掉。留给大家自己去尝试吧。

4、 对于不用验证就可以发送邮件的配置

修改 /etc/mail/access

添加:

Connect:10.0                    RELAY

注:在8.1 版本中使用  Connect:10.0                    OK 配置实测无效

生成db文件

makemap hash /etc/mail/access.db

重启 sendmail 服务。

本次配置sendmail花了我一天的时间,在网上查阅相关文档无数,但真正有帮助的却很少,可能个人遇到的问题也都不经相同吧。

其实现在想想真正有帮助的还是安装包里带有的README以及man帮助啦!

也希望本文对碰到相同问题的同行有所帮助!


推荐阅读
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 本文将详细探讨PHP中C的作用,并对比其他编程语言如Java和C的特点及其适用场景。 ... [详细]
  • Java EE 平台集成了多种服务、API 和协议,旨在支持基于 Web 的多层应用程序开发。本文将详细介绍 Java EE 中的 13 种关键技术规范,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • 解决Parallels Desktop错误15265的方法
    本文详细介绍了在使用Parallels Desktop时遇到错误15265的多种解决方案,包括检查网络连接、关闭代理服务器和修改主机文件等步骤。 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 2019-2020学年 20174325 叶竞蔚 《网络对抗技术》实验六:Metasploit基础应用
    本实验旨在掌握Metasploit框架的基本应用方法,重点学习三种常见的攻击方式及其实施思路。实验内容包括一次主动攻击(如MS08-067)、一次针对浏览器的攻击(如MS11-050)以及一次针对客户端的攻击(如Adobe漏洞利用)。此外,还包括成功应用一个辅助模块。 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 在HTML布局中,即使将 `top: 0%` 和 `left: 0%` 设置为元素的定位属性,浏览器中仍然会出现空白填充。这个问题通常与默认的浏览器样式、盒模型或父元素的定位方式有关。为了消除这些空白,可以考虑重置浏览器的默认样式,确保父元素的定位方式正确,并检查是否有其他CSS规则影响了元素的位置。 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • C++ 开发实战:实用技巧与经验分享
    C++ 开发实战:实用技巧与经验分享 ... [详细]
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
author-avatar
mobiledu2502878013
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有