linux 邮箱服务,邮件服务器有哪些

大家好,今天来为大家解答linux 邮箱服务这个问题的一些问题点,包括邮件服务器有哪些也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

linux里面怎样配置邮件服务器

2配置电子邮件服务

利用电子邮件服务,您可以在计算机中安装一些组件并将该计算机配置为电子邮件服务器。电子邮件服务包括邮局协议 3(POP3)服务以及简单邮件传输协议(SMTP)服务,分别用于接收和传送电子邮件。为了向用户提供电子邮件服务(如发送和接收电子邮件),管理员可以在服务器上创建一些邮箱。

POP3

POP3服务是一种用来接收电子邮件的电子邮件服务。管理员可以使用 POP3服务,在邮件服务器上存储和管理电子邮件帐户。在邮件服务器中安装了 POP3服务后,用户即可使用支持 POP3协议的电子邮件客户端(如 Outlook或 Outlook Express)连接到邮件服务器,并将电子邮件接收到其本地计算机中。POP3服务与用来发送外发电子邮件的 SMTP服务结合使用。

SMTP

SMTP控制将电子邮件经由组织或 Internet向目标服务器传输和递送的方式。SMTP在服务器之间接收和发送电子邮件。在安装 POP3服务时,就会自动在计算机中安装 SMTP服务以允许用户发送外发电子邮件。当使用 POP3服务创建域时,还会将该域添加到 SMTP服务中,以允许该域中的邮箱发送外发电子邮件。邮件服务器中的 SMTP服务接收传入的邮件,并将该电子邮件传送到邮件存储中。

设置电子邮件服务

要安装电子邮件服务,请按照以下步骤操作:

1.

以“Administrator@contoso.com”的身份登录到“HQ-CON-DC-01”中。

2.

单击“开始”按钮,单击“控制面板”,然后单击“添加或删除程序”。

3.

单击“添加/删除 Windows组件”,选择“电子邮件服务”复选框,然后单击“下一步”。(注意,您可能需要提供安装 CD才能继续。)

4.

在“Windows组件向导”完成后,单击“完成”,然后关闭“添加或删除程序”屏幕。

要配置电子邮件服务,请按照以下步骤操作:

1.

单击“开始”按钮,指向“所有程序”,指向“管理工具”,然后单击“POP3服务”。

2.

在“POP3服务”下面,在左侧树中单击“HQ-CON-DC-01”。

3.

单击“新域”链接,键入“contoso.com”作为“域名”,然后单击“确定”。

4.

在右窗格中,双击“contoso.com”。在“HQ-CON-DC-01”下面,左窗格中的树将展开并显示“contoso.com”域。单击“添加邮箱”链接。

5.

在“添加邮箱”屏幕上,键入“mike”作为“邮箱名”,清除“为此邮箱创建相关联的用户”复选框,单击“确定”,在出现“POP3服务”确认屏幕后,再次单击“确定”。

6.

再次单击“添加邮箱”链接,重复步骤 5为“Administrator”创建邮箱。

注意:由于 Active Directory帐户是在安装电子邮件服务之前建立的,因此,需要对邮箱进行手动配置。如果登录和邮箱名相同,POP3服务配置将使用关联的电子邮件地址来更新 Active Directory用户信息。在定义新的邮箱时,POP3服务可以自动创建用户帐户。

7.

最小化“POP3服务”MMC。

要测试基本电子邮件功能,请按照以下步骤操作:

1.

单击“开始”按钮,指向“所有程序”,然后单击“Outlook Express”。

2.

在“Internet连接向导”屏幕上,键入“Contoso Administrator”作为“显示名”,然后单击“下一步”。

3.

键入“administrator@contoso.com”作为“电子邮件地址”,然后单击“下一步”。

4.

在“接收邮件服务器”和“发送邮件服务器”中,键入“HQ-CON-DC-01”,然后单击“下一步”。

5.

在“Internet邮件登录”屏幕上,将登录名更改为“administrator@contoso.com”并提供“Administrator”帐户的“密码”,然后单击“下一步”。

6.

单击“完成”。

7.

单击“发送/接收”按钮,以确保能够与电子邮件服务器成功交互。

8.

单击“创建邮件”,将邮件地址指定为“mike@contoso.com”,键入“Test Mail”作为“主题”,然后单击“发送”。

9.

最大化“POP3服务”MMC。

10.

在右侧的结果窗格的“HQ-CON-DC-01”树下面,确认 mike的“邮箱”中有一封邮件,然后关闭“POP3服务”MMC。

揪错┆评论1┆举报

另外,虚机团上产品团购,超级便宜

如何装xp和linux双系统

能跟xp共存的,你所说的c盘、d盘只是在微软下的名词,D盘是xp下的,所以是不能在D盘下装linux的!至于装什么版本,既然是实验用的,推荐Red hat 9,理由就是我现在就在用呵呵,建议装纯文本的,跑起来嗷嗷爽快!

下面说下如何xp下装linux:

(引自鸟哥私房)

由于Linux无法安装在Windows的分区上,所以必须在硬盘中分割出一块领地专供Linux使用,这里推荐用分区魔术师进行无损分区。为了方便讲述,这里先举一个实例来说明:装有Windows XP计算机有一个30GB的硬盘,共分三个区(C盘、D盘、和E盘),其中E盘有16.6GB(有约7GB可用空间)。我们的目标是将7GB的可用空间剥离出来专供Red Hat使用。

1.首先在Windows XP里启动分区魔术师,从主窗口可以看到磁盘分区的详细信息。单击右侧详细窗格里的分区E以选中它。

2.单击左侧任务列表里的“调整一个分区的容量”命令,即可弹出一个“调整容量/移动分区”对话框。

3.在该对话框的顶部有一个条状图表示分区E的使用情况,其中左侧的黑色条部分表示已用空间,右侧的绿色条部分表示可用空间。可以用鼠标直接拖曳绿色条部分对E盘容量进行调整。很显然,E盘的最小容量就是已用空间的容量(在小就要破坏原有数据了),减小的容量就成了自有空间。

4.单击“确定”按钮,回到主界面,此时我们可以看到新划分出的7GB自由空间。接下来的步骤非常重要。尽管这7GB的磁盘空间已经是“自由身”,但是它还是属于Windows的扩展分区,所以要将这7GB的自由空间从Windows扩展分区里划分出去。

5.单击扩展分区以选中它,如图1所示。用类似的方法将这7GB自由空间从Windows扩展DOS分区里划分出去。现在我们已经从Windows XP的领地里割出一块7GB的自由空间供Linux专用。

图1将自由空间从扩展分区里划分出去

注意,一定要将自由空间从Windows扩展分区里划分出去,这是因为Linux的分区格式和Windows并不完全兼容。如果Red Hat所使用的磁盘空间属于Windows扩展分区,就会导致“水土不服”。很多朋友反映装上了Red Hat以后,发现Windows速度变得奇慢,就会归咎于Red Hat,其实根本原因在于分区的时候没有将自由空间从扩展分区里剥离出去。

实现Windows与Linux双重引导有多种方法:

◆对于具有双硬盘的用户,可以将Linux安装在第二个硬盘上(Windows自然是安装在第一个硬盘上),并且确保将GRUB(LILO)安装在第二个硬盘的主引导扇区,然后每次开机时在BIOS里指定从哪个硬盘引导即可。

◆最常用的方法是借助Linux的引导装载管理器GRUB(LILO),自动接管双重系统的启动选单。

◆可以借助Windows XP的NT引导程序ntldr、boot.ini来实现双重启动。这种方法的优点是今后删除Linux比较方便,而且符合我们的使用习惯;缺点是实现起来相对比较复杂,需要获取Linux系统的引导映像文件。

◆可以选择不安装Linux的引导装载管理器(或者不要安装在主引导扇区),但是要记住在安装过程中一定要创建Linux启动盘。今后需要时,用这张启动盘引导系统进入Linux。

这里介绍了四种双重系统的实现方案,本文将分别介绍比较常见的第二和第三种方法。

使用Linux引导管理器

Linux有GRUB和LILO两种引导管理器。从Red Hat 7.2版本开始,GRUB取代LILO成为了默认的启动装载程序,可见GRUB有其过人之处。相对来说,GRUB的使用和配置更加简单,功能更加强大,而且是今后的发展方向。所以此处推荐大家使用GRUB作为双重系统的引导管理器。

假设使用Red Hat Linux 9.0的安装光盘进行安装。首先是修改系统BIOS设置,以启用光盘开机,然后用第一张Linux安装光盘引导系统,等出现欢迎屏幕时按回车,即可进入图形化安装界面。

1.选择定制安装

安装过程非常简单,一开始会提示选择安装语言(自然要选择熟悉的简体中文),然后系统会提示进行鼠标、键盘配置。一般Linux会自动检测出相关设备,无需更改。

接下来将进入安装类型选择页面,一共有五个选项,分别是个人桌面、工作站、服务器、定制和升级现存系统。这里我们选择自由度最高的“定制”安装类型,如图2所示。

图2选择安装类型

2.创建Linux分区

创建Linux分区是难点。此处选择“用Disk Druid手工分区”,在接下来的页面上选中刚刚划分出来的7GB自由空间,然后单击“新建”按钮,即可创建Linux分区。对于初学者,可以只分三个分区:

(1)引导分区

在弹出的“添加分区”对话框上,在剩余空间创建引导分区,挂载点为/boot,容量可以是100MB,文件系统是ext3,如图3所示。

图3创建引导分区

(2)交换分区

必须要创建交换分区。交换分区是一个特殊的分区,类似于Windows XP里的页面文件,它没有挂载点的概念。此处只需选择文件类型为swap,假设内存容量是128MB,则交换分区容量可以设为256MB。

(3)根分区

在弹出的“添加分区”对话框上,选择挂载点为“/”,选择文件系统为ext3,可以将剩余的容量全部分配给根分区(注意应该适当留一点空间,否则系统会报错),容量大小不低于1.5GB。

Linux环境下没有Windows的C、D盘符概念,每一个Linux分区必须挂载到Linux目录树上才可以使用。这里有一个特殊的分区,就是根目录/,这个目录是必须的,它是Linux目录树的根。

3.Linux引导管理器的配置

创建好Linux分区,接下来就是重头戏——Linux引导管理器的配置。图4就是引导装载程序配置界面。由图4可以看到,图中的引导系统列表里已经出现了两个选项,一个Windows XP(此处认作DOS),另一个自然就是Red Hat了。在这个安装向导页面,可以做以下设置:

图4引导装载器的配置

(1)改变默认启动系统

Linux引导管理器默认引导Linux,可以在这里加以修改,例如可以勾选Windows XP(此处是DOS)前面的“默认”复选框,也可以在安装完成后,修改/boot/grub/menu.ist文件达到同样目的。

(2)添加别的操作系统

有时候,GRUB不一定能够检测出系统里的所有操作系统,这时候就需要进行人工添加。单击如图4所示页面上的“添加”按钮,即可打开一个“映像”对话框,可以在“标签”文本框输入该操作系统的名称,例如“Windows 98”,在“设备”下拉列表指定该操作系统的系统分区所在的位置,并确定是否选择该操作系统为默认引导系统。

(3)编辑默认项目标签

可能大家早就看不惯Red Hat居然还把Windows XP看成是DOS。不过单击图4页面上的“编辑”按钮可以指定其标签,如图5所示。

图5指定启动选单的名称

完成了这一步,Windows与Linux双重系统安装就大局已定。接下来的操作比较简单,按照屏幕提示即可轻松完成。不过,千万别忘记创建一张Linux启动盘,以备不时之需。

使用ntldr实现双重引导

使用ntldr引导Windows和Linux双系统,要比GRUB麻烦得多。这是因为Windows无法识别Linux分区,所以不能检测出Red Hat Linux的存在。为了能够让ntldr乖乖“听话”,需要对其进行“手术”。

为了方便大家理解,先对Windows引导管理器的原理做一简单介绍。ntldr是由配置文件boot.ini提供工作参数的,该文件位于Windows XP系统分区的根目录下,具有隐藏、系统、只读属性。我们只需要将Red Hat Linux的引导记录作为一个文件备份到C盘的根目录下,并相应地在boot.ini文件里添加一个项目来指向它们,就可以实现双重系统了。

假设要进行Windows XP和Red Hat Linux双重启动,最好先安装Red Hat Linux,再安装Windows XP。道理很简单,如果先安装Windows XP,那么后安装的Red Hat会自作主张用它的引导管理器强占ntldr的地盘,导致无法用ntldr来引导多重系统。下面介绍如何保存Red Hat Linux 9.0引导扇区。

1.在Red Hat环境下备份引导扇区

安装完小红帽以后(假设安装在/dev/hda6分区)别忙着安装Windows XP,先进入小红帽,打开终端窗口,在里面键入以下命令:

dd bs=512 count=1 if=/dev/hda6 of=bootsect.rh

该命令的作用就是把Red Hat Linux引导扇区保存为一个bootsect.rh文件,可以将其备份到软盘上。

然后安装Windows XP(假设安装在C盘上)。安装完成以后,再把这个bootsect.rh文件拷贝到C盘根目录下。编辑C盘根目录下的boot.ini文件(注意事先去除其系统、只读属性),在里面添加下面命令:

C:\bootsect.rh="Red Hat Linux 9.0"

保存该文件,请别忘了将boot.ini、bootsect.rh件设置回系统、隐藏和只读属性,以免今后误操作。

需要指出的是,如果先安装Windows XP也可以,不过要记住两点:

(1)在安装Linux引导管理器时,切记不要把引导管理器安装在主引导记录上(以免覆盖Windows的引导管理器);

(2)千万记住要制作一张Linux引导盘。

后面的任务就简单了,安装完Red Hat Linux,用Linux启动盘引导系统进入Red Hat Linux,然后用同样的dd命令制作bootsect.rh文件。

2.在Windows XP环境下备份Linux引导扇区

尽管在Red Hat环境下备份Linux引导扇区比较简单,但是对于大多只熟悉Windows的朋友来说,还是显得有些麻烦。所以本文将介绍如何在Windows环境下备份Linux引导扇区。这里可以分两步走,首先是找出Linux引导扇区的扇区数,然后再将该扇区保存为一个备份文件。

(1)用分区魔术师查找Linux的起始扇区

要在Windows环境下保存Linux分区的引导扇区,就必须知道该引导扇区的扇区号。借助分区魔术师,在分区魔术师8.0的主窗口里定位Linux的/boot分区,用鼠标右键单击该/boot分区,选择“Properties”选单项。然后在打开的“Partition Properties”对话框切换到“Partition Info”标签页,找到“First physical sector”(第一物理扇区)的扇区数,如图6所示,本例是53014500。

图6查看引导扇区的扇区号

(2)用Dskprobe备份引导扇区

知道了Linux引导扇区号,就可以借助磁盘工具来备份。这里推荐大家使用Dskprobe,它位于Windows 2000/XP安装光盘里的\SUPPORT\TOOLS目录下的SUPPORT.cab压缩包下。

先关闭分区魔术师,然后双击Dskprobe.exe图标启动Dskprobe。由于启动后并未读入任何数据,所以显示的是全零的扇区信息。接下来单击程序界面上的“Drives”选单→“Pysical Drive”选单项,弹出如图7所示的“Open Pysical Drive”对话框。

图7选择合适的硬盘

可以看到该对话框里“Available Physical Drives”列表框里列出了两块磁盘,如果是单硬盘系统,将只列出PhysicalDrive0(第一块物理硬盘)。双击所需的物理硬盘,可以看到“Close Handle”和“Set Active”这两个按钮被激活,先单击“Set Active”按钮,然后再单击“OK”按钮,即可返回到主界面。

单击主界面上的“Sectors”选单→“Read”选单项,打开“Read Sectors”对话框。在“Starting Sector”文本框里输入刚才通过分区魔术师的扇区数(本例是53014500),在“Number of”文本框里输入1,然后单击“Read”按钮,则显示如图8所示的界面,这就是Linux的/boot分区的引导扇区的内容。

图8 Linux分区引导扇区内容

单击“File”选单→“Save as”选单项,指定保存位置(C盘根目录)、文件名(假设是bootsect.rh)即可,然后在boot.ini文件里添加合适的项C:\bootsect.rh="Red Hat Linux 9.0"即可。一切就绪以后,再重启系统。此时出现了Windows XP启动选单,可以根据需要选定进入哪个系统。

另外,虚机团上产品团购,超级便宜

linux系统下邮件服务器sendmail的配置

安装所需软件

sendmail.8.12.10.tar.gz  

cyrus-sasl-2.1.18.tar.gz 

安装步骤

1、       先安装cyrus-sasl-2.1.18.tar.gz,sendmail安装时要用到sasl(简单认证和安全层协议)的库文档的头文档。

解压缩:

# tar-zxvf cyrus-sasl-2.1.18.tar.gz

编译:

进入刚解压的源码目录,运行以下命令完成安装。

#./configure--prefix=/usr/local/sasl2--enable-login

一定要加--enable-login,因为SASL2默认不支持login这种验证方式,而OUTLOOK是通过

login来进行SMTP验证的。

#make          #编译

#make install       #安装

完成以上linux程式安装三步曲之后,就能够开始配置和测试了。

2、配置SASL

为了把SASL应用于sendmail认证,还需进行一些配置工作。sendmail会到/usr/lib目录下去

找SASL2库,而我们是把程式安装在/usr/local/sasl2中,为什么不把软件安装在/usr/lib目录

呢?这主要是为了好管理自已安装的软件啦。所以我们要在/usr/lib目录下做一个链接:

# cd/usr/lib

# ln-s/usr/local/sasl2/lib/*.

ok,接着要在/var/目录下建一个目录给saslauthd进程存在临时数据。

# cd/var

# mkdir state

# cd state

# mkdir saslauthd

注:假如没有这些目录,运行saslauthd时,会提示出错。

ok,接着为确保CYRUS-SASL2函数库知道怎样验证所收来的SASL认证请求,必须创建一

个SASL的配置文档来把MTA程式定义成一个SASL应用。配置文档名为Sendmail.conf(注

意是大写的S),位于/usr/lib/sasl2目录中,也就是/usr/local/sasl2/lib/sasl2这个目录,记得上

面新建的链接了吗?在该文档中您定义您希望使用的认证数据库方法,以下这个例子使用

saslauthd来验证认证请求。

# cd/usr/lib/sasl2

# echo'pwcheck_method: saslauthd'; Sendmail.conf

3、测试

ok,现在能够运行saslauthd了,并进行测试。

# cd/usr/local/sasl2/sbin

#./saslauthd-a shadow              

用shadow的用户和密码进行验证

#./testsaslauthd-u userid-p password

0: OK"Success."

假如出现以上信息,就说明saslauthd正常运行了。testsaslauthd程式默认是没有编译的,您

需要在源码目录树的saslauthd子目录中运行    # make testsaslauthd命令生成。

4、sasl2安装完成后,就要开始安装sendmail了。

先解压sendmail源码。

# tar-zxvf sendmail.8.12.10.tar.gz

假如要sendmail支持SASL,需要修改源码的位置配置文档site.config.m4。site.config.m4位

于源码目录树的devtools/Site。文档中应包含以下行:

PREPENDDEF(`confMAPDEF', `-DMAP_REGEX')

APPENDDEF(`confENVDEF', `-DTCPWRAPPERS-DSASL=2')

APPENDDEF(`conf_sendmail_LIBS', `-lwrap-lsasl2')

APPENDDEF(`confLIBDIRS', `-L/usr/local/sasl2/lib')

APPENDDEF(`confINCDIRS', `-I/usr/local/sasl2/include')

第一行配置正则表达式相关内容

第二、三行配置表示在sendmail程式中支持sasl2和tcp_wrapper(可通过hosts.allow和

hosts.deny控制访问)

第四、五行配置指出sasl2的库文档和头文档的位置。

ok,接着在编译前要建立一些用户和目录,并确保有正确的权限。

sendmail必须有一个set-group-id(默认是smmsp组)的程式来在一个组可写的目录中查询

排队邮件。所以我们要建立一个smmsp用户和组。并建立如下目录并配置相应的权限,具

体配置需要可查询源码目录树下sendmail/SECURITY文档。

# groupadd smmsp

# useradd smmsp-d/var/spool/clientmqueue-s/dev/null

# mkdir/var/spool/clientmqueue

# chown-R smmsp:smmsp/var/spool/clientmqueue 

# chmod-R 770/var/spool/clientmqueue 

# mkdir/etc/mail

# mkdir/var/spool/mqueue

# chmod go-w//etc/etc/mail/usr/var/var/spool/var/spool/mqueue

# chown root//etc/etc/mail/usr/var/var/spool/var/spool/mqueue

ok,接下来就能够进入源码目录树开始编译了。

#./Build-c

-c选项能删除上次编译产生的文档。

#./Build install

编译完成后就能够进行安装。

5、sendmail配置

要sendmail正常运行,还需配置几个文档,首先最重要的就是sendmail.cf文档了。他在源

码目录树下的cf/cf目录下有很多例子可参考。您能够拷贝使用。由于sendmail.cf中的语法

很复杂,所以不建议手工修改。我们能够以sendmail.mc文档配合sendmail-cf目录下的宏通

过m4预处理器自动生成。m4预处理器用来从一组宏文档中创建sendmail配置文档。宏文

件作为输入被读进来。宏被展开,然后写到一个输出文档。sendmail-cf目录一般放在/usr/share

目录下。其实sendmail-cf目录的内容和源码目录树下的cf目录的内容是相同的,所以,为

了确保sendmail-cf目录的内容和安装版本同步,要把源码目录树下的cf目录的内容拷贝到

/usr/share/sendmail-cf目录。

sendmail.mc配置文档内容如下:

divert(-1)

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

VERSIONID(`linux setup for Red Hat Linux')dnl

OSTYPE(`linux')

dnl Uncomment and edit the following line if your mail needs to be sent out

dnl through an external mail server:

dnl define(`SMART_HOST',`smtp.your.provider')

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

undefine(`UUCP_RELAY')dnl

undefine(`BITNET_RELAY')dnl

dnl define(`confAUTO_REBUILD')dnl

define(`confTO_CONNECT', `1m')dnl

define(`confTRY_NULL_MX_LIST',true)dnl

define(`confDONT_PROBE_INTERFACES',true)dnl

define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl

define(`ALIAS_FILE', `/etc/mail/aliases')dnl

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

define(`UUCP_MAILER_MAX', `2000000')dnl

define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl

define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl

define(`confAUTH_OPTIONS', `A')dnl

TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl              

define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5

LOGIN PLAIN')dnl

dnl define(`confCACERT_PATH',`/usr/share/ssl/certs')

dnl define(`confCACERT',`/usr/share/ssl/certs/ca-bundle.crt')

dnl define(`confSERVER_CERT',`/usr/share/ssl/certs/sendmail.pem')

dnl define(`confSERVER_KEY',`/usr/share/ssl/certs/sendmail.pem')

dnl define(`confTO_QUEUEWARN', `4h')dnl

dnl define(`confTO_QUEUERETURN', `5d')dnl

dnl define(`confQUEUE_LA', `12')dnl

dnl define(`confREFUSE_LA', `18')dnl

define(`confTO_IDENT', `0')dnl

dnl FEATURE(delay_checks)dnl

FEATURE(`no_default_msa',`dnl')dnl

FEATURE(`smrsh',`/usr/sbin/smrsh')dnl

FEATURE(`mailertable',`hash-o/etc/mail/mailertable.db')dnl

FEATURE(`virtusertable',`hash-o/etc/mail/virtusertable.db')dnl

FEATURE(redirect)dnl

FEATURE(always_add_domain)dnl

FEATURE(use_cw_file)dnl

FEATURE(use_ct_file)dnl

dnl The'-t' option will retry delivery if e.g. the user runs over his quota.

FEATURE(local_procmail,`',`procmail-t-Y-a$h-d$u')dnl

FEATURE(`access_db',`hash-T;-o/etc/mail/access.db')dnl

FEATURE(`blacklist_recipients')dnl

EXPOSED_USER(`root')dnl

dnl This changes sendmail to only listen on the loopback device 127.0.0.1

dnl and not on any other network devices. Comment this out if you want

dnl to accept email over the network.

DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')

dnl NOTE: binding both IPv4 and IPv6 daemon to the same port requires

dnl      a kernel patch

dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')

dnl We strongly recommend to comment this one out if you want to protect

dnl yourself from spam. However, the laptop and users on computers that do

dnl not have 24x7 DNS do need this.

FEATURE(`accept_unresolvable_domains')dnl

dnl FEATURE(`relay_based_on_MX')dnl

MAILER(smtp)dnl

MAILER(procmail)dnl

记得要使以下两个条语句有效,他的意思是假如access.db访问控制没有配置,则启用以下

验证方式进行smtp验证。

TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl              

define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5

LOGIN PLAIN')dnl

sendmail宏定义说明

divert(n)               为m4定义一个缓冲动作,当n=-1时缓冲被删除,n=0时开始一个新缓冲

OSTYPE定义宏所使用的操作系统,该宏允许m4程式增加同相关操作系统相关的

文档

Domain定义MTA将使用哪些域来传输邮件

Feature定义配置文档中使用的一个特定的功能集

Define定义配置文档中的一个特定的选项值

MASQUERADE_AS               定义sendmail来应答邮件的其他主机名

MAILER定义sendmail使用的邮件传输方法

dnl注释

完成sendmail.mc文档的编写后就能够用m4程式生成正式的sendmail.cf配置文档。语法如

下:

# m4 sendmail.mc; sendmail.cf

也能够用源码目录树下的cf/cf/Build命令生成。前提是您要在该目录下有一个sendmail.mc

文档。语法如下:

#./Build sendmail.cf

ok,接着就能够把sendmail.cf and submit.cf文档安装到/etc/mail目录中的,语法如下:

#./Build install-cf

其实也能够自已用cp命令拷贝的啦。记得把sendmail.mc文档也拷贝一份到/etc/mail目录,

以便以后修改配置时可重新生成sendmail.cf文档。

ok,接着到/etc/mail目录下配置一些文档。

# cd/etc/mail

# echo'examply.com';; local-host-names        接收邮件的主机名

# echo'localhost   RELAY' ;; access                用来拒绝或允许来自某个域的邮件,本例允许

本地转发。

# makemap hash access生成access.db数据库

# touch domaintable        用来把旧域名映射互新域名

# makemap hash domaintable来覆盖向指定域的路由

# makemap hash mailertable用来把用户和域名映射到其他地址

# makemap hash virtusertable别名数据库,文本形式。可参照源码目录树下

sendmail/aliases文档。

# newaliases                 从文本文档中创建一个新的别名数据库文档。

# sendmail-v-bi       调试启动。

/etc/mail/aliases: 42 aliases, longest 10 bytes, 432 bytes total

假如出现以上提示信息,则启动成功。可用以下命令正式启动:

# sendmail-bd-q30m

该命令以后台进程方式(-bd)运行,并使其每隔30分钟(-q30m)轮询一次未发送邮件队

列,检查是否有新邮件。

服务器启动后,能够用telnet连接服务器。

# telnet localhost 25

Trying 127.0.0.1...

Connected to localhost.

Escape character is'^]'.

220 test.tigerhead ESMTP Sendmail 8.12.10/8.12.10; Tue, 30 Mar 2004 14:50:14+0800

ehlo test               您输入的命令,按回车结束。

250-test.tigerhead Hello LOCALHOST.localdomain [127.0.0.1], pleased to meet you

250-ENHANCEDSTATUSCODES

250-PIPELINING

250-8BITMIME

250-SIZE

250-DSN

250-ETRN

250-AUTH DIGEST-MD5 CRAM-MD5 LOGIN PLAIN

250-DELIVERBY

250 HELP

以250-开头的为服务器的响应信息。注意倒数第三行,这就是成功配置smtp验证的显示。

输入quit离开。

安装完成后为确保系统安全,还需调整一些目录的权限。可参考sendmail源码目录下

sendmail/SECURITY文档。

# chmod 0640/etc/mail/aliases/etc/mail/aliases.{db,pag,dir}

# chmod 0640/etc/mail/*.{db,pag,dir}

# chmod 0640/etc/mail/statistics/var/log/sendmail.st

# chmod 0600/var/run/sendmail.pid/etc/mail/sendmail.pid

-r-xr-sr-x       root  smmsp       .../PATH/TO/sendmail

drwxrwx---       smmsp smmsp       .../var/spool/clientmqueue

drwx------       root  wheel       .../var/spool/mqueue

-r--r--r--       root  wheel       .../etc/mail/sendmail.cf

-r--r--r--       root  wheel       .../etc/mail/submit.cf

6、sendmail功能介绍

aliases别名数据库配置

test:       test1,test2,test3       配置test群组别名,test不是个实际的用户,只是个别名。发给

test的信,test1,2,3都可收到。

test:       test,testbak               在testbak邮箱中备份test的邮件。

test:       test,test@163.com       远程邮件备份,原理同上。

test:  :include:/etc/mail/userlist       使用用户列表配置群组。

userlist格式如下:

test1,/

test2,/

test3,/

test4

关于系统预设aliases,由于sendmail预设用mailer-daemon and postmaster作为资料传送者,

或邮件退回的帐号,但系统实际没有这两个帐号,所以要如下配置别名。

mailer-daemon: postmaster

postmaster:    root

配置完成后不要忘了用newaliases命令生成数据库。

~/.forward文档配置

其实该文档的作用和aliases数据库的作差不多啦,都是配置别名,做邮件转发的。因为alises

只能由管理员控制,个人用户不能修改,所以就能够在个人的目录下建立一个转寄文档。以

配置个人的邮件转寄列表。文档格式如下:

test

test1

test2

test3

and os on

但由于个人用户安全意识差,假如配置不当会有安全漏洞,不建议使用。

access访问控制列表配置

92.168 RELAY

test.NET       OK

test.COM REJECT

test.COM       550 SORRY,WE DON'T ALLOW SPAMMERS HERE

test.ORG       DISCARD

Ok--远程主机能够向您的邮件服务器发送邮件;

RELAY--允许中转;

REJECT--不能向您的邮件服务器发邮件和不能中转;

DISCARD--发来的邮件将被丢弃,同时并不向发送者返回错误信息。

nnn text--发来的邮件将被丢弃,但sendmail将会向发送者返回nnn确定的smtp代码和text

变量确定的文本描述。

配置完成后要用makemap hash access.db命令生成数据库。

mailq邮件队列查询命令。

Q-ID邮件id号。

Size邮件容量。

Q-Time邮件进入队列(也就是/var/spool/mqueue目录)的时间和不能邮寄的原因。

Sender/Recipient       发信和收信人的邮箱地址。

mailstats邮寄状态查询命令,可查询sendmail运行作至今邮件收发总计资料。

M    :

msgsfr:发送的邮件数量。

bytes_from:邮件容量

megsto:收到邮件的数量。

bytes_to:同上

msgsrej:邮件deny的次数。

msgsdis:邮件discard的次数。

Mailer:esmtp对外邮件,local本地邮件。

mail邮件命令

mail       查看/var/spool/mail/目录下自已邮箱内容。以q退出把看过的邮件保存在

~/mbox中。

mail test@example.com               直接发邮件给人。

mail-s'title text' test@example.com把文档中内容邮寄出去。

mail-f~/mbox查看home目录下邮箱内容。

用mail发附件也是可行,要用到uuencode and uudecode命令进行编码。

编码:uuencode [file] name         example:uuencode hello hello;hello.uue  default input

is stdin;default output is stdout.

解码:uudecode [-o outfile] name   example:uudecode hello.uue能够用-o选项输出另外一个

文档名。

# uuencode~/.bashrc bashrc| mail-s'test uuencode'

test@example.com

五、其他配置。

要想更好的使用sendmail,常用到的一些配置:

1、限制最大邮件。

vi/etc/sendmail.cf

# maximum message size

O MaxMessageSize=5000000   (注:5M)

2、最大的群发数目。

vi/etc/sendmail.cf

# maximum number of recipients per SMTP envelope

O MaxRecipientsPerMessage=20 (注:20个)

3、域名文档----local-host-name

能够用他来实现虚拟域名或多域名支持。

/etc/mail/local-host-name

v1mail.com

v2mail.com

.......

4、mail别名文档--aliases。

vi/etc/aliases

系统内部别名:peng:zpeng,hero,mmmn,yt  peng是我的用户名,其他的是别名,用逗号隔开。

转发到其他的邮箱:peng:zpeng@sina.com,yt.sohu.com

#newaliases  --写到库中

5、邮件控制文档--access

relay、ok、reject和discard。relay能够实现转发。ok是用来允许用户的任意访问,他会覆盖任何其他已建立的检查(实际配置中,最好别设这项,除非您对该用户是绝对信任的);reject能够实现对来访地址的拒绝,他根本就不容许该地址和您的邮件服务器进行连接通信;discard的作用是在接收到传输的邮件消息后,偷偷地把他丢弃掉(在发送者看来,他的邮件的确是接收了,但他并不知道,发送的目的地址根本不可能接收到他的邮件,服务器巧妙地欺骗了他。

vi/etc/mail/access.

localhost.localdomain   RELAY     ---允许

localhostRELAY

127.0.0.1                      RELAY

peng@sina.com             ok

@sexgirl.net                  reject

211.77.22.45                 discard

#makemap hash access.db写入库中

6、虚拟用户文档---virtusertable.

这个文档能够mail重名问题。

例如:您有两个域名,virt1.com and virt2.com,但是都有peng这个用户:

peng@virt1.com and peng@virt2.com,这是两个用户。但对于系统用户来说,他只认系统用户peng,只能通过一下改:

vi/etc/mail/virtusertable

peng@virt2.com  r010

这样就能够了。在新开一个用户r010,但是peng@virt2.com在客户端的pop3 and smtp server的用户名和口令要用r010的。

#makemap hask virtusertable.db

#/usr/sbin/sendmail-d0.1-bv root|grep SASL

NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NIS QUEUE SASL SCANF

我的问题已找到了是/usr/lib/sasl/Sendmail.conf的文档名中的S没有大写,问题已解决

阅读剩余
THE END