sendmail 在linux 中如何启动

您所在的位置:网站首页 sendmail配置文件 sendmail 在linux 中如何启动

sendmail 在linux 中如何启动

#sendmail 在linux 中如何启动| 来源: 网络整理| 查看: 265

分类: 电脑/网络 操作系统/系统故障

解析:

Sendmail的配置十分复杂。它的配置文件是sendmail.cf,位于/etc/mail目录下。由于sendmail.cf的语法深奥难懂,很少有人会直接去修改该文件来对Sendmail服务器进行配置。我们一般通过m4宏处理程序来生成所需的sendmail.cf文件。创建的过程中还需要一个模板文件,系统默认在/etc/mail目录下有一个sendmail.mc模板文件。

我们可以根据简单、直观的sendmail.mc模板来生成sendmail.cf文件,而无需直接编辑sendmail.cf文件。可以直接通过修改sendmail.mc模板来达到定制sendmail.cf文件的目的。这里介绍创建sendmail.cf文件的步骤:

(1)备份原有sendmail.cf文件

在终端命令窗口运行以下命令:

cp /etc/mial/sendmail.cf /etc/mail/sendmail.cf.BAK

(2)生成sendmail.cf文件

根据sendmail.mc模板文件产生sendmail.cf配置文件,并导出到/etc/mail/目录下:

m4 /etc/mail/sendmail.mc /etc/mail/sendmail.cf

(3)重启sendmail服务

[root@ahpeng root] /etc/rc.d/init.d/sendmail restart

很显然,用m4宏编译工具创建sendmail.cf文件比较方便,而且不容易出错,更可以避免某些带有安全漏洞或者过时的宏所造成的破坏。一个sendmail.mc模板的大致内容如下:

divert(-1)dnl

......

include('/usr/share/sendmail-cf/m4/cf.m4')dnl

VERSIONID('setup for Red Hat Linux')dnl

OSTYPE('linux')dnl

......

dnl #

dnl define('SMART_HOST',' *** tp.your.provider')

dnl #

define('confDEF_USER_ID',''8:12'')dnl

define('confTRUSTED_USER', ' *** msp')dnl

dnl define(′confAUTO_REBUILD′)dnl

......

这里介绍sendmail.mc模板的语法组成:

dnl:用来注释各项,同时dnl命令还用来标识一个命令的结束。

divert(-1):位于mc模板文件的顶部,目的是让m4程序输出时更加精简一些。

OSTYPE ('OperationSystemType'):定义使用的操作系统类型,显然这里应该用linux代替OperationSystemType,注意要用一个反引号和一个正引号把对应的操作系统类型括起来。

define:定义一些全局设置,对于Linux系统,设置了OSTYPE之后,可以定义下面的一些全局参数,如果不定义,就使用默认值。这里举两个简单例子:define('ALIAS_FILE','/etc/aliases')

定义别名文件(alia file)的保存路径,默认是/etc/aliases

define('STATUS_FILE', '/etc/mail/statistics')

sendmail的状态信息文件。

以上只是sendmai.mc的一些简单的语法解释,更多的参数含义及其配置信息可以参见sendmail/m4/eaking_config。

为新用户开电子邮件账号

在Linux里为新用户开设电子邮件账户比较简单,只需在Linux系统里新增一个用户即可。单击"主菜单→系统设置→用户和组群"菜单项,打开"Red Hat用户管理器"对话框,单击"添加用户"按钮,在出现的"创建新用户"对话框里指定用户名、登录口令即可,如图3所示。

假设我们添加了一个用户Peter(密码为peter),这样该用户就有了一个邮件地址Peter@YourDomain(此处的YourDomain用你自己域名代替)。

以上过程也可以在终端命令窗口运行以下命令来实现:

[root@ahpeng root]#adduser peter -p peter

为电子邮件账户设置别名

有一些用户想使用多个电子邮件地址,是不是需要创建多个邮件账号呢?我们可以使用别名(alias)来解决这个问题。

比如说,用户peter想拥有以下3个电子邮件地址:

peter@YourDomain、dearpeter@ YourDomain、truepeter@ YourDomain。

我们可以通过以下步骤来实现这样的别名设置:

新增一个账号peter;然后用vi、或者Kate等文本编辑器打开/etc/aliases,在里面加上两行:

dearpeter: peter

truepeter: peter

保存该/etc/aliases退出。

不过,就这样还不能让Sendmail接受新增的别名,我们必须在终端命令窗口运行newaliases命令,以要求Sendmail重新读取/etc/aliases文件。如果一切无误,应该可以看到类似以下的回应消息:

[root@ahpeng root]# newaliases

/etc/aliases: 63 aliases, longest 10 bytes, 625 bytes total

这样,发给peter的邮件可以使用3个邮件地址,而peter只需要使用一个电子邮件账号peter@YourDomain就可以接收所有寄给以上3个地址的电子邮件。

指定邮箱容量限制

当一个邮件服务器为许多人提供邮件服务时,无 *** 的电子邮件将很容易塞满服务器的硬盘,造成硬盘负担。如果不想为用户提供无限空间的邮件暂存空间,可以使用"邮件限额"来给用户一个有限的暂存空间。

其实,它是利用磁盘配额功能来实现的。电子邮件的暂存空间是在/var/spool/mail目录下,只要通过磁盘配额设定每一个用户在这个目录下能使用的最大空间即可。

支持POP和IMAP功能

到现在为止,我们已经可以用Outlook Express发送邮件,或者登录服务器使用mail、pine命令收取、管理邮件。但是还不能用Outlook Express等客户端从服务器下载邮件,这是因为Sendmail并不具备POP3(IMAP)的功能,所以我们必须自己安装。

(1)POP和IMAP服务器安装

安装Red Hat Linux 9.0时,可以选择安装POP和IMAP服务器,可以在终端命令窗口运行以下命令进行验证:

[root@ahpeng root]# rpm -qa imap

imap-2001a-18

如果没有安装,可以将第2张安装光盘放进光驱,然后在终端命令窗口运行以下命令即可开始安装:

[root@ahpeng root]#cd /mnt/cdrom/RedHat/RPMS

[root@ahpeng root]#rpm -ivh imap-2001a-18.i386.rpm

由于Red Hat Linux 9.0已经将POP和IMAP打包成一个单独的套件,安装好imap-2001a-18.i386.rpm,就会同时安装这两个服务器

(2)启动POP和IMAP服务

要成功启动POP和IMAP服务器,首先要确定这些服务存在于/etc/services文件,确保以下的服务前面没有加上#注释(如果有,必须去除注释)。

imap 143/tcp imap2 # Interim Mail Access Proto v2

imap 143/udp imap2

pop2 109/tcp pop-2 postoffice # POP version 2

pop2 109/udp pop-2

pop3 110/tcp pop-3 # POP version 3

pop3 110/udp pop-3

修改好/etc/services文件,接下来就要对相应服务配置文件进行定制:

启动POP3服务:必须修改/etc/xid.d/ipop3文件,将其中的"disable=yes"改为"disable=no",保存该文件。最后必须重新启动xid程序来读取新的配置文件,使得设定内容生效:

[root@ahpeng root]#/etc/rc.d/init.d/xid reload

启动IMAP服务:必须修改/etc/xid.d/imap文件,将其中的"disable = yes"改为"disable =no",保存该文件。最后必须重新启动xid程序来读取新的配置文件,使得设定内容生效:

[root@ahpeng root]#/etc/rc.d/init.d/xid reload

设置好以后,就可以在Outlook Express里面设置好邮件账号,以后就可以直接利用Sendmail服务器进行收发邮件了,由于邮件服务器就在本地局域网,所以速度很快。

效果截图

Sendmail :sendmail 是最古老的 MTA(Mail Transfer Agent,电子邮件系统)之一,最早它诞生的时候,Internet 还没有被标准化,当时主机之间使用的是 UUCP 技术来交换邮件。它被设计得比较灵活,便于配置和运行于各种类型的机器。

Qmail :qmail 是新生一代的 MTA 代表,它以速度快、体积小、易配置安装等特性而著称。作者 D.J.Bernstein 是一个数学教授,富有传奇色彩。他于 1995 年开发 qmail,1996 年发布 0.70 版,并使用了多种当时比较先进的 技术,包括 Maildir,与 sendmail 单个 binary 不同的模块化设计,权限分离,以及使用了大量由他编写的配套工具,如 daemontool,ucsip-tcp 等。qmai  迅速成为了 Internet 上最有名的  MTA,使用者众。

postfix :postfix  如今已经独树一帜,流水线、模块化的设计,兼顾了效率和功能。灵活的配置和扩展,使得配置 postfix 变得富有趣味。其主要的特点是速度快、稳定,而且配置/功能非常强大,并和 sendmail 类似,提供了与外部程序对接的 API/protocol。尤其是配置部分,postfix 另一个优势是至今依然保持活跃的开发工作,而且稳步发展,适合高流量大负载的系统,扩充能力较强。本实验也是基于 postfix 服务器软件来实现。

邮件服务器基本的工作原理

MUA(Mail User Agent):向外发送邮件,以及提供用户浏览与编写邮件的功能。

MTA(Mail Transfer Agent):(可以理解为 smtpd 服务器)帮忙将用户的邮件传递出去或接收进来。

MDA(Mail Delivery Agent):将接收下来的邮件存放到对应用户邮筒当中的程序。通过分析 MTA 所收到邮件的表头或内容,来判断此邮件是属于哪个用户,然后决定将此邮件投递给哪个用户的邮筒里。

MRA(Mail Retrieval Agent):通过 MRA 服务器提供的邮政服务协议(POP)来接收自己的邮件。

邮件中继:

SMTPD 要支持邮件路由功能,需要打开 Open Relay 开放式中继。

SMTPD 是根据收件人判断邮件是否需要中继,而且只给指定的客户端中继。

注:当 DNS 上存在多个 MX 记录的主机这时就是根据 DNS 的邮件级判断了。DNS 上定义的值越小,其优先级越高。辅助交换器接受到邮件并不能保存邮件。而是这个辅助交换器会等到主邮件交换器空闲的时候把代替它接受下来的邮件在转给主邮件交换器。所以任何邮件处理都是主邮件交换器处理的。所以我们实际情况下,如果有 2 台服务器做邮件交换器,性能比较高的应该为主的。

安装配置过程中,postfix 通过 Internet 发送和接收 email,并存储在用户邮箱里。同时客户也可以通过 IMAP 或者 POP3 恢复他们的邮件。其中的客户认证是通过  Courier Authdaemon 模块的。下图表示出了这个过程:

出现安装界面时,首先按下 tab键切换到确定,然后按下回车。

安装 postfix 的时候会问你安装的服务器类型,对于我们的需要,我们选择默认的 Internet Site,这是最符合我们的服务器类型,然后按下回车确认。

使用 vim 编辑配置文件:

大概在第 31 行,编辑 myhostname,修改为 myhostname = shiyanlou.com。

然后我们把 alias_map 参数修改为 alias_maps = hash:/etc/postfix/virtual,之后会讲解 virtual 里面填写什么。

之后设置 mynetworks 段落,它定义可以使用这台服务器的主机,我们这里就用默认的本地地址。你也可设置为其他地址。

编辑完成后按下 Esc 键,输入 :wq 保存退出。

此命令创建了一个用户 master,其中 -d 和 -m 选项用来为登录名 master 产生一个主目录 /usr/master(/usr 为默认的用户主目录所在的父目录)。

我们编写之前设置的  virtual  文件,这些邮箱地址是用来传送邮件的。

在这个文件里,我们将设置一个表,对应相关的邮件地址。

完成后保存关闭文件。

我们可以通过调用下面这个命令来实现我们的映射:

接着我们重启 postfix,完成我们的修改:

我们可以用 shiyanlou 这个账号给 master 这个账号发一封邮件。首先我们需要安装一个命令行收发邮件的软件 mailutils 。

写一封邮件

输入如下内容:

其中 -s 参数是指邮件的标题,后面是将要发送的邮件内容从 hello.txt 中重定向。这个命令如果正确执行不会有输出。

然后我们切换到 master 用户,查看我们的邮件。

按下回车建可以查看邮件内容,输入 quit 即可退出邮箱。

Linux 邮件服务器原理介绍,编译安装 Postfix 实现本地的邮件服务

Ubuntu 服务器指南-邮件服务-Postfix

how-to-run-your-own-mail-server-with-mail-in-a-box-on-ubuntu-14-04

基于Linux RedHat 6.2。

我们有理由认为,对于各种RedHat版本,可能都存在类似问题,而下述方法也是对各种情况都有效的。

其一,安装POP3服务器。

在Linux的安装过程中,无论是否选择Everything,系统都不会安装POP3和IMAP协议服务器,所以必须自己手动安装。首先要注意,POP3服务器程序在imap的RPM包中。

1.首先将光盘放入光驱,然后使用命令:mount /dev/cdrom;

2.其次是进入光盘中RPM包的目录,使用命令如下:cd /dev/cdrom/RedHat/RPMS;

3.然后是安装RPM包,使用命令如下:

rpm –i imap-4.7-5.i386.rpm;

4.最后是将光驱卸载,使用命令如下:umount /dev/cdrom。

安装过程结束。

需要说明的是:POP3协议的服务器是在IMAP的包中,这个可以通过运行:rpm –q –l –p imap-4.7-5.i386.rpm,来查看rpm包的内容。

其二,让Linux在启动时自行启动POP3服务。

只有一个步骤:使用vi或者其他编辑工具,在/etc/inetd.conf中找到以#pop3开头的一行,将该#去掉。

其三,为了让用户在地址中能够使用域名,而不是ip地址,必须对sendmail进行如下设置:

打开/etc/sendmail.cw文件,在其中加入服务器主机名,这里应该这样一行:

etran.com

服务器端一切OK。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://outofmemory.cn/yw/7290249.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3