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

CentOS配置sendmailsmtp认证收发邮件

折腾了三四天,终于基本的配出来了吧也算。有smtp验证,使用FOXMAIL可以用它发送邮件,并能收取邮件,POP3收邮件那部分还没研究,所以没配出来呢还。这个就是用centOS安装盘上自带的sendmail和sasl2,自己去下新的编译装也行,但很麻烦,尤其是sendmail的配
折腾了三四天,终于基本的配出来了吧也算。有smtp验证,使用FOXMAIL可以用它发送邮件,并能收取邮件,POP3收邮件那部分还没研究,所以没配出来呢还。
这个就是用centOS安装盘上自带的sendmail和sasl2,自己去下新的编译装也行,但很麻烦,尤其是sendmail的配置文件是相当的麻烦。用安装盘上的,配置文件等都是现成的了,所以需要做的工作要相对轻松的多。 首先编辑/etc/mail/sendmail.mc文件,关于验证主要就是下面这二行:
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
这两行默认是被dnl(注释掉的)掉的,要去掉它的注释,TRUST_AUTH_MECH”的作用是使sendmail不管access文件中如何设置, 都能relay那些通过EXTERNAL, LOGIN, PLAIN, CRAM-MD5或DIGEST-MD5等方式验证的邮件,注意这里是对需要relay的邮件进行验证,这点很重要,只有这样通过验证的邮件才会被 relay以防止sendmail服务器被滥用,confAUTH_MECHANISMS的作用是确定系统的认证方式。Outlook Express支持的认证方式是LOGIN。
另外要提的一点是,注意一下这两行的最后一句注释:Please remember that saslauthd needs to be running for AUTH. 这说明要使用sendmail进行验证需要使用系统的saslauthd服务,那个服务有可能没有打开,所以需要打开。
然后将DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl这行dnl(注释)掉,不然从其他计算机使用foxmail等客户端都将无法使用sendmail发邮件,因为这行的设置表示 只接收本机的邮件。将这行注释掉也可以,或者改成DAEMON_OPTIONS(`Port=smtp,Name=MTA')dnl也可以。总之如果想进 行邮件接收的话,就不要在这行里加入M=a的配置(注意大小写),因为它是对connection进行验证,这样对接收的邮件,sendmail也会先要 求对这个连接验证,而其他邮箱发给你的邮件的这个连接是无法进行验证的。
最后在/etc/mail/local-host-names文件中添加上本机的域名,如果没有域名,写ip也可以,这样sendmail就会认为这些域 名的邮件要在本机进行投递,不然照上面的配置的话,没有这个配置,从其他的邮件服务器发给自己的邮件也得需要进行验证,但从其他邮件服务器过来的邮件那绝 不可能有sendmail服务器需要的验证信息的,这样就不可能收到别的邮箱发过来的信了。但是在这个文件中进行了配置,就可以收到从其他邮件服务器比如 163发过来的邮件。
然后开启saslauthd服务,重启sendmail(service sendmail restart),还有防火墙要开启25端口。
基本上的配置步骤就是这些而已,这样配完后使用foxmail来用这个sendmail发送邮件就得通过验证才可以发送,并且可以接收到其他邮件服务器发来的邮件。其他的更多的配置,就根据需要再进行研究跟设置了。
其他一些与sendmail的相关和需要注意的地方:
可以telnet localhost 25然后ehlo localhost 看看返回的信息里有没有auth开头的行。有的话就是现在的sendmail有smtp的验证。
/usr/lib/sasl2(版本1的话就是sasl)/Sendmail.conf:这个文件也很重要,使用的密码检查方法就在这里配置。配错了也将导致验证失败。现在一般使用saslauthd
可以关闭sendmail服务,直接使用sendmail -bd -OLOGLEVEL=14 -Am来启动sendmail得到更多的日志信息,日志被放在/var/log/maillog和/var/log/messages中。
如果从编译开始装的话,网上有很多参考文章,我也试了一次,主要是sendmail.mc这个文件弄起来是麻烦,得从头写,不如直接装好的有现成的改下的容易,另外就是有些介绍文章使用的sasl还是1.几的版本,跟现在的2.几在配置等等上,还是有些出入的,需要注意。

推荐阅读
  • 请看|间隔时间_Postgresql 主从复制 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 本文探讨了在 OpenStack 环境中使用虚拟机部署 Ceph 集群后,外部服务器通过浮动 IP 无法访问该集群的问题,并提供了详细的解决方案。 ... [详细]
  • 本文详细介绍了如何通过RPM包在Linux系统(如CentOS)上安装MySQL 5.6。涵盖了检查现有安装、下载和安装RPM包、配置MySQL以及设置远程访问和开机自启动等步骤。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • 在Fedora 31上部署PostgreSQL 12
    本文详细介绍如何在Fedora 31操作系统上安装和配置PostgreSQL 12数据库。包括环境准备、安装步骤、配置优化以及安全设置,确保数据库能够稳定运行并提供高效的性能。 ... [详细]
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
  • 本文详细介绍了如何正确配置Java环境变量PATH,以确保JDK安装完成后能够正常运行。文章不仅涵盖了基本的环境变量设置步骤,还提供了针对不同操作系统下的具体操作指南。 ... [详细]
  • 本文将详细介绍通过CAS(Central Authentication Service)实现单点登录的原理和步骤。CAS由耶鲁大学开发,旨在为多应用系统提供统一的身份认证服务。文中不仅涵盖了CAS的基本架构,还提供了具体的配置实例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文介绍了如何在 Ubuntu 18.10 Cosmic 停止官方支持后,通过更换软件源来解决 `apt update` 失败的问题。 ... [详细]
author-avatar
热带彩色鱼_918
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有