Linux下sendmail的配置

Linux sendmail 的配置详解

首先我确定一下我要完成的任务

第一部,            完成邮件正常接收

第二部,            优化 sendmail 邮件服务器。

第三部,            配置带认证的邮件服务器。

第四部,            安装 openmail 。 web 页面的 sendmail

 

(一)安装前的准备:

1 , Linux 版本:我的是(企业版,至于红帽 9 已经不能得到升级和技术支持,所以现在都用企业版。):

[root@tpwb /]# uname -r

2.6.9-34.EL (版本内核)

2 , Sendmail 版本: 8.13.1.2 ( 系统自带的 ) 应该是现在的最新版本。

[root@tpwb mail]# rpm -qa|grep sendmail

sendmail-cf-8.13.1-2

sendmail-devel-8.13.1-2

sendmail-doc-8.13.1-2

sendmail-8.13.1-2

3 ,远程软件

SecureCRT5, 去百度搜索一下多的事。也可以从我网吧的网页下载。 http://www.tpwb.cn

上面也有如何使用这款软件的说明。当然你不用也可以。

4 ,命令术语的了解:

要用到的命令: rpm , ls, cd, m4 >, makemap hash, vi , netstat ,reboot , service,

关于 linux 基础知识你可以去看我的另一篇文章“ linux 基础知识”

在这里我只讲 Sendmail 的配置,同样推荐一个网址:上面也有关于 Sendmail 配置的信息。

可以作为参考

http://www.testtimes.net/blog/blog.php?do-showone-tid-23.html

5 关于邮件服务器的一些相关知识(强烈建议先看一下)

一,电子邮件系统的组成

5 部分: MTA , MSA , MUA , MDA , MAA

1,   邮件用户代理( Mail User Agent , MUA )

MUA 是一个邮件系统的客户端程序,它提供了阅读,发送和接受电子邮件的用户接口。

最常用的 MUA 有: linux 中的 mail , elm , pine 等。 Windows 的 outlook , foxmail 等

2,   邮件代理器( Mail Transfer Agent , MTA )

MTA 负责邮件的存储和转发( store and forward )。 MTA 监视用户代理的请求,根据电子邮件的目标地址找出对应的邮件服务器,将信件在服务器之间传输并且将接受到的邮件进行缓冲。

在 linux 下的 MTA 程序有: sendmail , qmail 等,

3,   邮件提交代理( Mail Submmission Agent , MSA )

MSA 负责消息有 MTA 发送之前必须完成的所有准备工作和错误检测, MSA 就像在 MUA 和 MTA 之间插入了一个头脑清醒的检测员对所有的主机名,从 MUA 得到的信息头等信息进行检测。

4,   邮件投递代理( Mail Ddlivery Agent , MDA )

MDA 从 MTA 接收邮件并进行适当的本地投递,可以投递个一个本地用户,一个邮件列表,一个文件或是一个程序。

Linux 下常用的 MDA 是 mail.local , smrsh 和 procmail ( www.procmail.org )

5,   邮件访问代理( Mail Access Agent , MAA )

MAA 用于将用户连接到系统邮件库,使用 POP 或 IMAP 协议收取邮件。

Linux 下常用的 MAA 有 UW-IMAP , Cyrus-IMAP , COURIER-IMAP 等

 

 

二,电子邮件协议

1,   SMTP

SMTP(Simple Mail Transfer Potocol, 简单邮件传输协议 ) ,是用来接受和发送电子邮件的 TCP/IP 协议,通常用于把电子邮件从客户端传输到服务器,或者从某一台服务器传输到另一个服务器。工作方式是连接远程主机的 25 端口,然后以 SMTP 命令上传邮件。它是目前 Internet 上传电子邮件的 协议,一般主机与主机之间交换邮件大部分都是用此协议。

2,   POP3

POP3 ( Post Office Protocol, 邮局协议,目前上第三版本)是关于接受电子邮件的客户机 / 服务器协议。工作方式是客户端程序连接远程主机的 110 端口,然后一 POP 命令下载服务器上的邮件到本地硬盘,然后本机就可在离线的情况下阅读邮件, POP3 是 initernet 上传输电子邮件到本机的第一标准协议。

3,   IMAP

IMAP ( Internet Message Access Protocol, 网际消息访问协议目前 第四版)类似 POP3 ,但比 POP3 功能更强大

4,   MIME

MIME ( Multipurpose Internet Mail Extension. 多用途因特网邮件扩充)是为了帮助协调和统一为发送二进制数据而发明的多种编码方案。

三,电子邮件与 DNS

当邮件服务器程序得到一封待发的邮件时,它首先需要根据目标地址确定将信件投递给哪一个服务器。这是通过 DNS 实现的

在 DNS 数据库中,有一个很重要的记录,就是邮件交换( Mail Exchange , MX )记录

MX 记录用于告知 MTA 将邮件传递到何处。 MX 记录中包含了出现在电子邮件地址中的主机名。

四,邮件中继

就是当邮件向目的地址传输时,一旦源地址和目的地址都不是本地系统,那么本地系统就是邮件的中继(中转站)

 

 

只要你仔细阅读了上面的文章,相信你会对邮件服务器有更深刻的了解,同时也能更准确的排除邮件服务器系统一些错误。

 

 

(二) Sendmail 的配置

配置前我先说一下:我采用的是公网 IP 。所用域名是: tpwb.cn 。

我们先确定一下自己的 NDS 服务器。看看我们开通 MX 记录没有。

开通 MX 记录后我们才能用域名来收发邮件

如何开通,我推荐一个网址:

http://www.magicwinmail.com/technic_net_mx.htm

注:如果你是免费域名,采用花生壳等软件的话,一样要开通 MX

如何开通,网上有。如果你找不到的话,或者在 linux 下安装花生壳有问题的话可以给我留言。我会尽快给你答复。这里不做讨论了。

下面看一下我的 MX

[root@tpwb mail]# nslookup

> set q=mx

> tpwb.cn

Server:         202.106.196.115

Address:        202.106.196.115#53

Non-authoritative answer:

tpwb.cn mail exchanger = 10 211.101.46.251. (或者是你的域名)

211.101.46.251 是我的 IP , tpwb.cn 是我的域名。

如果你和我的类似,那么咱们开始下一部

我们先查看一下 mail 目录下的文件,我们一会将会对它们进行更改

[root@tpwb ~]# cd /etc/mail

[root@tpwb mail]# ls

access           helpfile          Makefile      submit.cf      virtusertable

access.db        local-host-names  sendmail.cf   submit.cf.bak virtusertable.db

domaintable     mailertable       sendmail.mc    submit.mc

domaintable.db mailertable.db    spamassassin trusted-users

1,   access 数据库文件,用于配置邮件中继。

2,   sendmail.mc , sendmail 的主要配置文件。

3 、 local-host-names 域名文件 可以用他来实现虚拟域名或多域名支持。

4 、 mail 别名文件 aliases 。

5 、邮件控制文件

relay 、 ok 、 reject 和 discard 。

relay: 可以实现转发。

ok: 是用来允许用户的任意访问,它会覆盖任何其它已建立的检查(实际设置中,最好不要设为这项,除非你对该用户是绝对信任的);

reject: 可以实现对来访地址的拒绝,它根本就不容许该地址与你的邮件服务器进行连接通信;

discard: 的作用是在接收到传输的邮件消息后,把它丢弃掉。在发送者看来,他的邮件的确是接收了,但他并不知道,发送的目的地址根本不可能接收到他的邮件,服务器巧妙地欺骗了他。

我在这里这是简单介绍一下,详细的解释自己去查找资料,我以后也会在写关于服务器相关术语的文章。

我们首先看一下 sendmail.mc 这个文件的内容

[root@tpwb ~]# cat /etc/mail/sendmail.mc

divert(-1)dnl

dnl #

dnl # This is the sendmail macro config file for m4. If you make changes to

dnl # /etc/mail/sendmail.mc, you will need to regenerate the

dnl # /etc/mail/sendmail.cf file by confirming that the sendmail-cf package is

dnl # installed and then performing a

dnl #

dnl #     make -C /etc/mail

dnl #

include(`/usr/share/sendmail-cf/m4/cf.m4')dnl   (将 sendmail-cf/m4/cf.m4 包含进来)

VERSIONID(`setup for Red Hat Linux')dnl (定义版本信息)

OSTYPE(`linux')dnl (选择包含操作系统指定属性的文件)

dnl #

dnl # default logging level is 9, you might want to set it higher to

dnl # debug the configuration


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值