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

Linuxsendmail配置详解

这篇文章是对上篇的补充,因为自从写完上篇之后又对LINUX下的邮件服务进行研究,发现有许多许的遗漏和新的发现,这篇将是一个完整的总结。首先,要想让LINUX可以收发邮件就要把DNS弄好,这是非常关键的,如果没有DNS做基础LINUX是不可能正常收发邮件的。我
 这篇文章是对上篇的补充,因为自从写完上篇之后又对LINUX下的邮件服务进行研究,发现有许多许的遗漏和新的发现,这篇将是一个完整的总结。

首先,要想让LINUX可以收发邮件就要把DNS弄好,这是非常关键的,如果没有DNS做基础LINUX是不可能正常收发邮件的。我的服务DNS配置如下:
服务器的IP为:a.b.c.d
假设我的域名为:domain.com
机器名为:my
正向解析文件名:db.domain.com
内容:
@  IN  SOA  ns.mydomain.com. root.ns.mydomain.com. (
         2001061405 ;serial
         3600 ;refresh
         900 ;retry
         1209600 ;expire
         43200 ;default_ttl )
@  IN  MX  5  ns
@  IN  NS  ns
@  IN  a.b.c.d
mail    IN    A     a.b.c.d
my     IN    A     a.b.c.d
localhost IN    A     127.0.0.1
test    IN    A     a.b.c.d
mail    IN    CNAME   my.mydomain.com.
反向解析文件名:db.A.B.C
@    IN    SOA    my.mydomain.com. root.ns.mydomain.com. (
          2001061405 ;serial
          3600 ;refresh
          900 ;retry
          1209600 ;expire
          43200 ;default_ttl )
@    IN    NS    my
38    IN    PTR    my.mydomain.com.
这两个解析文件设置好后,剩下的文件如/etc/named.conf,/etc/named.boot相信你已经会设置了。下面就开始邮件服务器的配置。
可能用到的文件:/etc/sendmail.mc,/etc/sendmail.cf,及目录/etc/mail下的文件。
首先检查sendmail和POP3是否已启动,命令如下:
  ps -auwx | grep sendmail ,如果sendmail启动了,就会有一些信息,
  netstat -a | grep pop ,如果POP3端口打开了,就有下面的提示信息:
   tcp 0 0 *: pop3 *:* LISTEN ,否则没有提示.

如果你在安装 LINUX的时候 选择的是完全安装的话那么就不用生成sendmail.cf这个文件了。Linux6.2自带的sendmail是8.9.3的版本的,这个版 是安全的且比较好用。

1、修改sendmail.cf
在 Cwlocalhost 这一行后面加上你想做为收邮件的那个服务器的名字。例如:
Cwlocalhost mail.mydomain.com
如果你在DNS中已经设置好了邮件服务器那么这里也可以不用改。
Fw/etc/sendmail.cw 这一和表示让sendmail去哪里找sendmail.cw这个文件,这个文件很重要.
还有一行你可能也需要改一下:
R$*     $#error  $@ 5.7.1 $:"550 Relaying denied" 改成
R$-     $@ OK
注意:中间的分隔要用"Tab"键.

2、修改sendmail.cw文件,设置这个邮件服务器用于发送邮件的主机的名字,可以用你的域名,或主机名。
# sendmail.cw - include all aliases for your machine here.
mydomain.com
mail.mydomain.com
ns.mydomain.com

3、access文件
localhost.localdomain    RELAY
localhost          RELAY
127.0.0.1          RELAY
192.168.0          RELAY
a.b.c.d           RELAY
mydomain.com         RELAY

然后执行以下命令:
makemap hash access.db 这个文件是允许这个域中的其它机器通过它发送邮件。

现在就完成了。重起sendmail可以进行测试了。在这个linux中添加一个用户就会有一个电子邮件地址,不用特别的去设置。
这篇文章不全面,有许多遗漏的地方,可能你会遇到很多问题,但是由于sendmail实在是太复杂了,我无法写的一点不漏,还请原谅。如有问题可以和我联系,我会尽力帮您解决的。  

推荐阅读
  • 本文详细介绍了在不同操作系统中查找和设置网卡的方法,涵盖了Windows系统的具体步骤,并提供了关于网卡位置、无线网络设置及常见问题的解答。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 本文探讨了如何解决PHP文件无法写入本地文件的问题,并解释了PHP文件中HTML代码无效的原因,提供了一系列实用的解决方案和最佳实践。 ... [详细]
  • 1.执行sqlsever存储过程,消息:SQLServer阻止了对组件“AdHocDistributedQueries”的STATEMENT“OpenRowsetOpenDatas ... [详细]
  • 使用PHP实现网站访客计数器的完整指南
    本文详细介绍了如何利用PHP构建一个简易的网站访客统计系统。通过具体的代码示例和详细的解释,帮助开发者理解和实现这一功能,适用于初学者和有一定经验的开发人员。 ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
  • 智能医疗,即通过先进的物联网技术和信息平台,实现患者、医护人员和医疗机构之间的高效互动。它不仅提升了医疗服务的便捷性和质量,还推动了整个医疗行业的现代化进程。 ... [详细]
  • 本文回顾了2017年的转型和2018年的收获,分享了几家知名互联网公司提供的工作机会及面试体验。 ... [详细]
  • 苹果系统频繁弹窗提示无法验证服务器身份?竟是网易邮箱证书过期所致
    近日,众多苹果用户发现iOS、iPadOS和macOS系统频繁弹出无法验证服务器身份的警告。问题根源在于网易邮箱未能及时更新其数字证书,导致原证书过期后无法被信任。 ... [详细]
  • Symfony是一个功能强大的PHP框架,以其依赖注入(DI)特性著称。许多流行的PHP框架如Drupal和Laravel的核心组件都基于Symfony构建。本文将详细介绍Symfony的安装方法及其基本使用。 ... [详细]
  • Linux环境下进程间通信:深入解析信号机制
    本文详细探讨了Linux系统中信号的生命周期,从信号生成到处理函数执行完毕的全过程,并介绍了信号编程中的注意事项和常见应用实例。通过分析信号在进程中的注册、注销及处理过程,帮助读者理解如何高效利用信号进行进程间通信。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • Java EE开发技术课程学习平台设计与实现
    本文详细介绍了一款基于Java EE开发技术的在线学习平台,涵盖系统设计、流程分析、功能模块及源码分享等内容,提供从需求分析到部署的全面指导。 ... [详细]
  • 深入解析ESFramework中的AgileTcp组件
    本文详细介绍了ESFramework框架中AgileTcp组件的设计与实现。AgileTcp是ESFramework提供的ITcp接口的高效实现,旨在优化TCP通信的性能和结构清晰度。 ... [详细]
author-avatar
123sdf87_768
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有