学习鸟哥linux私房菜所得

sendmail

可以使用rpm -qa |grep sendmail来查看一下是否已安装sendmail-cf和sendmail 如果没有安装可用yum -y install sendmail-cf安装

(注意:经自己测试,发现,用yum命令下载sendmail-cf的时候也会把sendmail安装上去)

(rpm的参数:-q是query查询的意思,a是所有的意思)

用rpm -qa|grep m4 来查看一下m4是否已安装,m4是转换sendmail设定文档的一支程序。

用rpm -q mailx来查看一下mailx是否已安装,mailx就是提供最简单的mail寄信与收信的套件。

用rpm -qa |grep imap 来查看一下imap的安装情况,imap就是POP3那个主要的套件。可以使用yum -y install dovecot来进行安装POP3认证。

设定档(几乎全部在/etc/mail下.)

/etc/mail/sendmail.cf这个就是sendmail的主要设定档,所有的参数都是它在管理(官方告诫不要手动进行编辑)。

/etc/mail/local-host-name:这个主要用来处理一个主机同时拥有多个主机名称时候的收发信件主机名称的问题。

/etc/mail/access.db这个就是规定谁可以使用本邮件服务器的数据库,要转成这个数据库需要藉由makemap以及/etc/mail/access档案的配合。这个档案可以说是sendmail里面最重要的使用者权限管理的数据了。

 

执行档:

/usr/sbin/sendmail:就是sendmail主要的执行档,它会读取sendmail.cf这个档案的设定内容。(启用这个程序,预设端口是25)

/usr/sbin/makemap:主要将access转成access.db的数据库制作的执行文件。

/usr/sbin/mailstats:将/etc/mail/statistics档案读出来的一支程序,可以查看到目前为止sendmail工作共传送、接收多少邮件。

/usr/bin/newaliases:将/etc/mail/aliases转成/etc/mail/aliases.db的执行档。

/usr/bin/mailq:用来观察/var/spool/mqueue这个邮件暂存目录的数据情况的指令。

/usr/bin/m4:这个就是将*.mc档案转成*.cf档案的主要执行档。需要搭配sendmail的原始码,或者是sendmail-cf这个套件才行。(注意sendmail原本套件中并未包含m4这个套件)

邮件相关目录

/var/spool/mail邮件接收下来之后,每个使用者邮件放置的目录。

/var/spool/mquene:当邮件由于对方主机或网络的问题无法发出时,那么该封邮件就会暂时存放在这个目录下,然后主机每隔30~60分钟重新尝试传送一遍,通常设定5天内还送不出去,就会退给发信者了。

/var/spool/clientmqueue这是新的sendmail才会出现的队列目录。

建立m4参数档:(可以在/usr/share/sendmail-cf/cf里面找到相当多的范例档案)

drivert(-1)的意思是:如果在*.mc档案当中具有批注符号时,而输出资料时不想将这些说明资料也输出。

OSTYPE(‘linux’) 这个功能在设定使用的操作系统类别。/usr/share/sendmail-cf/ostype这个目录中找到所支持操作系统模式。

define('ALIAS_FILE','/etc/aliases')将邮件别名档放置在/etc/aliases底下。

undefine('UUCP_RELAY'),与define相反,可以用来移除不需要的项目。

FEATURE(‘access_db','hash -o /etc/mail/access.db')这个组件FEATURE会规定出sendmail所额外新增的一些任务,规定sendmail存取权限设定的档案,也就是/etc/mail/access.db

MAILER这个组件在设定所使用的邮件主机传送代理人(MDA),如果要让主机上面的实体用户可以再登入主机环境中使用sendmail,那你就必须启动local这个本地端的邮件传送功能,通常定义为MAILER(local)和MAILER(smtp)

m4 程序的执行,必须要先读入相关的参数项目才行。这个参数项目在/usr/share/sendmail-cf/m4/cf.m4这个档案中,

linux系统下sendmail的搭建的更多相关文章

  1. Linux系统下LNMP一键搭建Linux、PHP、MySQL环境(适合新手搭建linux下的web生成环境)

    一. 首先要解释一下,什么是LNMP,LNMP起源于LAMP,LAMP是Linux+Apache+Mysql/MariaDB+Perl/PHP/Python的缩写,这里将Web服务端的Apache替换 ...

  2. Linux系统下LNMP架构搭建

    一.防火墙状态: 1.查看防火墙状态: systemctl status firewalld service iptables status firewall-cmd --state 2.永久有效开启 ...

  3. Linux系统下 Supervisor 安装搭建

    在 web 应用部署到线上后,需要保证应用一直处于运行状态,在遇到程序异常.报错等情况,导致 web 应用终止时,需要保证程序可以立刻重启,继续提供服务. 所以,就需要一个工具,时刻监控 web 应用 ...

  4. Linux系统下 MongoDB安装搭建

    1.下载linux的mongodb 2.在目录usr/local下创建文件夹mongodb,把安装包解压到该文件夹中 # mkdir mongodb # tar -zxvf mongodb-3.4.2 ...

  5. Linux系统下sendmail发送邮件失败的问题

         问题是:安装完sendmail,启动服务后,发送邮件第一次发送成功,后面再次无论怎么发送都不行,换邮箱也不行.在确认我的邮件发送格式正确无误后,想到查看邮件发送日志: [root@backu ...

  6. Linux系统下 Supervisor 安装搭建(yum安装)

    安装Supervisor # 安装supervisor yum install supervisor # 打开supervisor的配置文件 vi /etc/supervisord.conf 将sup ...

  7. Linux系统下Qt环境搭建

    http://www.linuxidc.com/Linux/2013-07/87576.htm 主要是需要提前安装一些动态库,否则编译的时候会出现 /usr/bin/ld: cannot find - ...

  8. linux系统下本地搭建git服务器

    linux系统下如何搭建本地git服务器,用于存放团队的开发代码,如下步骤: 1.先用一台服务器来安装git,安装好linux以后,在这里选用的是Ubuntu 14.04.然后配置静态IP:172.1 ...

  9. linux系统下搭建自己的web服务器

    之前在windows 2008 server上搭建了一个用于测试的web服务器,但是在打开网站的时候特别的慢,尤其是图片的加载都会失败,当时以为是路径的问题,但是在服务器上自己打开都特别慢,自己实在找 ...

随机推荐

  1. [AlwaysOn Availability Groups]AG扩展事件

    AG扩展事件 SQL Server 2012定义了一些关于AlwaysOn的扩展事件.你可以监控这些扩展事件来帮助诊断AG的根本问题.你也可以使用以下语句查看扩展事件: SELECT * FROM s ...

  2. .NET重构—单元测试的代码重构

    阅读目录: 1.开篇介绍 2.单元测试.测试用例代码重复问题(大量使用重复的Mock对象及测试数据) 2.1.单元测试的继承体系(利用超类来减少Mock对象的使用) 2.1.1.公用的MOCK对象: ...

  3. ORACLE 解锁、找回表和找回程序语句

    最近在工作中同事们经常遇到锁表.误删表和程序覆盖的情况,现总结下遇到这三种情况的解决方案: 1.暴力删除锁表 当表被某些语句占用无法停止,或者出现事物阻塞的情况下,需要手动删除锁(万不得已的情况下用) ...

  4. YARN DistributedShell源码分析与修改

    YARN DistributedShell源码分析与修改 YARN版本:2.6.0 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述 2 YARN Distrib ...

  5. [Java入门笔记] Java语言基础(五):数组

    简介 数组可用用于存储存储多个数据,Java的数组要求所有的数组元素具有一种相同的数据类型.一旦数组初始化完成,数组在内存中的空间被固定下来,长度不可改变,即使把数组的元素清空,所占用的空间依然被保留 ...

  6. 解决ntp的错误:no server can be used,exiting

    台湾地区一台机器进行时间同步时,出现下面的错误.很显然,它提示的是不能找到主机time.stdtime.gov.tw. 所以我初步猜测是由于dns解析的问题   1 2 3 4 #  /usr/sbi ...

  7. shell实现ping命令查看哪些主机在线

    #!/bin/bash .{..};do -i 0.5 $a >/dev/null && echo "$a 在线" || echo "$a 离线&q ...

  8. 修改AndroidStudio中的Logcat中的默认设置

    按Ctrl+Alt+S打开Settings 在左上角的输入框中输入Locat 点右边的使用内部样式取消掉,好了,开始自定义吧.

  9. ubuntu与centos安装软件的不同点总结

    ubuntu与redhat系列的linux操作系统安装软件区别是很大的.下表列出了两者之间的对比.

  10. linux中offsetof与container_of宏定义

    linux内核中offsetof与container_of的宏定义 #define offsetof(TYPE, MEMBER)    ((size_t) &((TYPE *)0)->M ...