学习鸟哥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. Linux命令学习总结:reboot命令

    命令简介: 该命令用来重启Linux系统.相当于Windows系统中的restart命令. 命令语法: /sbin/reboot [-n] [-w] [-d] [-f] [-i] 或 reboot [ ...

  2. DDD实施经验分享—价值导向、从上往下进行(圈内第一个吃螃蟹DDD实施方案)

    阅读目录: 1.背景 2.从业务开始 3.从战略到战术 4.借助外力推动研发(QA.领导.自动化测试) 5.领域模型与SAAS平台的内核(价值最大化) 6.最后 1.背景 DDD本身的技术就不介绍了, ...

  3. C# Combobox 设置 value

    因为ComboxItem是Object对象,而控件自身没有Value属性.所以,需要自定义一个类,用其对象来存储Text,Value. public class ComboxItem    {     ...

  4. PHP的openssl加密扩展使用小结

    h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...

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

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

  6. CentOS 7 恢复 Windows 启动项

    安装Linux时一般会自动识别windows系统并添加引导项,而 CentOS 默认不支持 NTFS 分区,CentOS7采用了Grub2,与CentOS6有区别.手动引导windows分区修改配置稍 ...

  7. Java基础知识笔记(四:多线程基础及生命周期)

    一.多线程基础 编写线程程序主要是构造线程类.构造线程类的方式主要有两种,一种是通过构造类java.lang.Thread的子类,另一种是通过构造方法实现接口java.lang.Runnable的类. ...

  8. OpenCV 之 编译和配置

    “工欲善其事,必先利其器”,下面介绍在 Win7 32位系统下,用 cmake 编译 OpenCV 的过程. 1  开发环境 1.1  Win7 Windows 7 家庭普通版,Service Pac ...

  9. 第三章SQL编程

    本章目标: 1.使用变量 2.输出语句 3.数据类型转换 4.逻辑控制语句 5.批处理 一.变量 1.什么是变量呢? 变量是存储数据的容器 T-SQL中的变量分为局部变量和全局变量 2.局部变量 局部 ...

  10. 关于调整input里面的输入光标大小

    input输入框用一个背景图模拟,设置height和line-height一样的高度,使里面的输入文字能够居中, 在FF下出现的情况是:点击input时,输入光标其实上跟input的height一样高 ...