linux邮件服务器(下)

来源:互联网 发布:编程的事件和对象 编辑:程序博客网 时间:2024/05/12 18:16


现在是61322:44,开始写mail的配置文件部分,和其操作。

linux中常用的邮件服务器软件如下:

MUAfoxmailoutlookwebmail

MTAwindows中的有:Exchangelinux中:sendmailLotus NotePostfixQmailExmail

MDAporcmailmaildrop

MRAdovecot

由于邮件服务复杂,在这里只介绍最基本的部分:对邮件的转发和对邮件接收。

redhat linux中,默认使用的是sendmail。通过使用smtp协议,监听25号端口,来实现对邮件的收发。

sendmail的配置文件都在/etc/mail文件夹中。

其主配置文件:sendmail.cf

监听区域文件:/etc/mail/local-host-name

配置中继转发:/var/mail/access.db

定义邮件别名:/etc/aliases.db

需要注意的是,由于sendmail出现的比较早,所以其主配置文件是由比较晦涩的语言,不容易配置。所有系统上为我们提供了以文件sendmail-cf,通过安装这个文件我们可以修改:accesssendmail.mcaliases几个容易懂得文件,在启动服务的时候可以通过对比其时间标签,来实现自动将其转换成对应的配置文件。

/etc/sendmail.mc

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

用来定义sendmail监听服务的IP地址

LOCAL_DOMAIN(`localhost.localdomain')dnl

定义服务器所在的域的域名。

如果配置smtps则需修改如下文件

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1,Name=MTA M=Ea')dnl

TRUST_AUTH_MECH('EXTERNAL DIGEST-MD5CRAM-MD5 LOGIN PLAIN') dnl

define ('confAUTH_MECHANISMS', 'EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGINPLAIN' )dnl

然后在/usr/lib/sasl2/Sendmail.conf中添加

meth_list:longin plain

 

对于local-host-name在其中分别填入对应的域名和主机名

 

sendmail默认是只对本主机的邮件转发,如果想添加转发的区域,则在access文件中添加如下内容

ConnectIP        RELAY

 

如果对接受到的邮件想进行转发在aliases文件中定义格式如下:

username1 username2

 

对于接受邮件服务软件:dovecot,它能够同时提供imapimapspop3pop3s四种服务。

主配置文件:/dev/dovecot.conf

protocols = imap imaps pop3 pop3s

定义监听的协议

#ssl_disable = no

这是是否启动加密协议的,默认是注释掉的,如果启用后面要写上证书和私钥路径

#ssl_cert_file =/etc/pki/dovecot/certs/dovecot.pem

#ssl_key_file =/etc/pki/dovecot/private/dovecot.pem

 

# mail_location =mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n

定义了日志的格式,如果想启用那种格式的要去掉注释。

 

对于mail的测试,可以使用telnet命令来实现:发送邮件使用命令

telnet IP 25

然后执行如下命令

HELO   确认是否是邮件服务器

EHLO   双发都支持的功能

MAIL FROM     发件人(不检查)

RCPT TO     收件人(需检查)

DATA    主题

.      提交发送邮件

接受邮件的命令:

telnet IP端口

USER    用户名

PASS     密码

LIST

RETR n看第n封邮件

 

在测试加密的过程可以使用tcpdump进行抓包来实现

 

原创粉丝点击