linux学习笔记11-电子邮件服务器

 

电子邮件服务器

电子邮件服务器的工作原理

邮件服务器的作用-为一个域收信

chinaitlab.com MX:mail.chinaitlab.com

tom@chinaitlab.com

alice@chinaitlab.com

bob@chinaitlab.com



redhat.org.cn MX:mail.redhat.org.cn

tom@redhat.org.cn

alice@redhat.org.cn

bob@redhat.org.cn

基本概念

发信服务器

用来替用户把邮件发送到目的地的服务器,一般运行着smtp服务器软件。

收信服务器

等待用户来收信的服务器,一般运行着pop/imap服务器软件

通常发信服务器和收信服务器是同一台服务器

client------------------SMTP----------->server---------->POP3/IMAP------------>client



MTAmail transfer agent

邮件传输代理。发送邮件服务器的总称,比如sendmail,qmail,postfix,exim等。

MUAmail user agent

邮件用户代理。帮助用户收信的客户端软件的总称,比如outlook,mozilla,foxmail等。

MTA: MUA:

Sendmai Outlook

Qmail Foxmail

postfix mozilla

邮件格式

From:tom@chinaitlab.com

To:jack@redhat.org.cn

Subject:hi

Body:welcome to chinaitlab!











Smtp服务器的工作原理





Sendmail安装与配置

网站 http://www.sendmail.org

最新版本 sendmail.8.14.3

下载 ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.14.3.tar.gz



准备编译环境

删除sendmail以及postfix

rpm -e – nodeps sendmail

prm -e –nodeps postfix

需要安装cyrus-sasl cyrus-sasl-plain,syrus-sasl-devel,syrus-sasl-gssapi,cyrus-sasl-md5

rpm -qa|grep sasl

首先确认是为那个域

host -t MX chinaitlab.com

host mail.chinaitlab.com

host -t MX redhat.org.cn

host mail.redhat.org.cn

编译安装过程

tar xvzf sendmail.8.13.1.tar.gz

cd sendmail.8.13.1

vi devtools/Site/site.config.m4

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

APPENDDEF(`conf_sendmail_LIBS',`-lsasl2')

sh Build -c

sh Build install

rpm -q m4确认安装了m4宏解释器

mkdir /usr/share/sendmail; cp -a cf /usr/share/sendmail

cd cf/cf

cp generic-linux.mc snedmail.mc

make install-cf ;cp sendmail.mc /etc/mail

cd /etc/mail

touch aliases access

echo "chinaitlab.com" > local-host-names

echo "mail.chinaitlab.com" >> local-host-names

makemap hash access < access

makemap hash aliases < aliases

mkdir /var/spool/mqueue

/usr/sbin/sendmail -bd -q1h

q表示队列1h表示1小时,表示一小时处理一次

ps aux | grep sendmail查看sendmail是否运行成功

POP/IMAP服务器的配置

测试发信

netstat -tnl | grep 25

useradd redhat增加收信账号

passwd redhat

echo "root:redhat">>/etc/mail/aliases

newaliases

telnet localhost 25

mail from: root@chinaitlab.com

rcpt to: redhat@chinaitlab.com

data

hello,mail from smtp command.

.

tail /var/log/maillog

如果可以看到stat=Sent,说明发信成功

邮件客户端的配置

outlook

工具-账户-添加-

显示名 redhat

电子邮件地址redhat@chinaitlab.com

我的邮件接收服务器是imap

接收服务器192.168.0.101

发送服务器192.168.0.101

账户名redhat

密码redhat



rpm -q telnet-server

yum install telnet-server

chkconfig --list | grep telnet

chkconfig telnet on

su - redhat切换到redhat

mail查看收信



起动收信服务器

yum install cyrus-imapd

rpm -ivh /mnt/cdrom/Fedora/RPMS/imap-*.rpm

chkconfig imap on

(或者chkconfig ipop3 on)

ls /etc/xinetd.d

service xinetd restart

grep imap /etc/services

netstat -tnl | grep 143

fedora支持pop3,imap

yum install dovecot

vi /etc/dovecot.conf

protocols = imap imaps pop3 pop3s

netstat -tnl | grep 143

outlook收信,使用redhat用户登陆,测试发信给自己



RELAY-转发

netstat -tnl | grep 25

telnet localhost 25

mail from: root@chinaitlab.com

rcpt to:root@redhat.org.cn

data

hello

.

quit



client<---SMTP--->mail.chinaitlab.comt<---SMTP RELAY--->mai.redhat.org.cn

redhat.org.cn MX5 mail.redhat.org.cn

如果需要从服务器转发给互联网用户

此时需要在邮件服务器打开转发

ACCESS

cd /etc/mail

vi sendmail.mc添加

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

include(`/usr/share/sendmail-cf/m4/cf.m4')dnl 因为是一个宏定义,需要引入默认的宏定义语言

m4 sendmail.mc > sendmail.cf

echo "192.168.0 RELAY" >> access表示允许来自192.168.0.0/24 网段的用户 RELAY

makemap hash access < access

ls -l | grep access可以看到access.db就是刚才用makemap创建出来的

killall sendmail

sendmail -bd -q1h

重新发信给root@redhat.org.cn测式

host -t MX mail.redhat.org.cn

host -t MX mail.chinaitlab.com

host mail.chinaitlab.com

增加用户证

cd /etc/mail

vi sendmail.mc

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

define(`confAUTH_OPTIONS',`A y')dnl

TRUST_AUTH_MECH(`LOGIN PLAIN')dnl

define(`confAUTH_MECHANISMS',`LOGIN PLAIN')dnl

chkconfig saslauthon

/etc/init.d/saslauthd restart

echo “pwcheck_method:saslauthd”>/usr/lib/sasl2/Sendmail.conf

killall sendmail

/usr/sbin/sendmail -bd -q1h

别名

修改 more /etc/mail/aliases

postmaster:root

daemon:root

bin:root

sys:root

sync:root

games:root

..

root:redhat

..

newaliases

killall sendmail

sendmail -bd -q1h

激活安全的imaps

imaps=imap+ssl(基于SSL的安全imap协议)

chkconfig imap off

chkconfig imaps on

service xinetd restart

netstat -tnl | grep 993

imaps需要客户端MUA软件支持,outlookmozilla都支持imaps协议

grep imaps /etc/services

参考资料

/usr/share/sendmail/cf/README(来自sendmail的源码)

http://www.sendmail.org

http://www.sendmail.org/other-sendmail-links.html

http://www.postfix.org

新闻组news://comp.mail.sendmail



测试方法

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
B站上的韩顺平老师的《Linux学习笔记》系列课程非常值得推荐。通过这个课程,我学到了很多关于Linux操作系统的知识和技能。 首先,韩老师在课程中详细介绍了Linux的基本概念和特点。我清楚地了解到Linux是一个开源的操作系统,具有稳定性、安全性和可定制性强的特点。这让我对Linux有了更深入的理解,也更有信心去学习和使用它。 其次,韩老师从基础开始,逐步讲解了Linux的安装和配置。他用简单明了的语言和实际操作的示范,帮助我了解了如何在虚拟机上安装Linux系统,并设置网络、用户账户、文件系统等。这为我后续的学习和实践打下了坚实的基础。 此外,韩老师还讲解了Linux的常用命令和工具。他详细介绍了常用的文件和目录操作命令,比如cd、ls、mkdir、cp等。同时,他还讲解了grep、sed、awk等强大的文本处理工具的使用方法。这些内容帮助我更加高效地进行文件管理和数据处理。 最后,韩老师还介绍了Linux的网络管理和安全防护。他讲解了如何配置网络连接、使用ssh远程登录以及设置防火墙等内容。这些知识对我了解网络和保护系统安全非常有帮助。 总的来说,韩顺平老师的《Linux学习笔记》课程非常实用,对于初学者来说是入门学习Linux的好选择。他通过深入浅出的讲解和丰富的实操示范,让我可以轻松地学习Linux的基本知识和操作技巧。我相信通过学习这个课程,我会在Linux领域有更进一步的发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值