学习鸟哥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. IP 地址分类(A、B、C、D、E类)

    互联网上的接口的唯一地址. IP 32位的地址通常表示为四个10进制的数,每个证书对应一个字节,成为点分十进制法(Dotted decimal notation) 如上图首字节整数:A类--0开始,B ...

  2. angularJS操作键值对象(类似java的hashmap)填坑小结

    前言: 我们知道java的hashmap中使用最多的是put(...),get(...)以及remove()方法,那么在angularJS中如何创造(使用)这样一个对象呢 思路分析: 我们知道在jav ...

  3. Spark调度管理(读书笔记)

    Spark调度管理(读书笔记) 转载请注明出处:http://www.cnblogs.com/BYRans/ Spark调度管理 本文主要介绍在单个任务内Spark的调度管理,Spark调度相关概念如 ...

  4. jmeter接口自动化集成

    接口自动化集成 一.jmeter基础学习 1.博客  :http://www.cnblogs.com/fnng/category/345478.html 2.博客   http://www.cnblo ...

  5. 【C++】输入多行数字到数组

    前天做某公司笔试题的时候,其输入格式是多行数字,每行以空格为分隔符,以换行符号为结束输入到多个数组.在JAVA中有相应的函数直接将一行拆成数组,感觉在C++中这中输入方式还是挺奇怪的,今天想出一种解决 ...

  6. gitlab备份及迁移

    Gitlab 创建备份 使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的Gitlab备份: gitlab-rake gitlab:ba ...

  7. mycat高可用方案

    1.建议采用标准的mysql主从复制高可用配置并交付给mycat来完成后端mysql节点的主从自动切换. 2.mycat自身的高可用性 由HAproxy+Mycat集群+Mysql主从所组成的高可用性 ...

  8. 【java开发】分支语句、循环语句学习

    一.Java分支语句类型 if-else 语句 switch 关于if-esle语句可以拆分为三种 if语句 if(条件){语句块;} if-else语句if(条件语句){语句块;} if-else ...

  9. Libevent初探

    Libevent 是一个用C语言编写的.轻量级的开源高性能网络库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大:源代码相当精炼.易 ...

  10. 【2016-11-15】【坚持学习】【Day26】【WPF 命令绑定到事件】

    今天同事跟我说了已经有用的东西. System.Windows.Interativity 这个命名空间可以让我在界面上将命令绑定到对应的事件上.解决了我一直的疑问,只有点击事件可以绑定??现在有答案了 ...