电子邮件服务

网友投稿 764 2022-09-24 15:30:02

电子邮件服务

电子邮件系统概述:

邮件系统角色

MUA(邮件用户代理)、MTA(邮件传输代理)、MDA(邮件分发代理 )

邮件应用协议

SMTP,简单邮件传输协议,TCP 25端口

POP3,第3版邮局协议,TCP 110端口

IMAP4,第4版因特网消息访问协议,TCP 143端口

图:

常用的邮件服务器软件:

商业邮件系统

Exchange:微软公司的重量级产品,与Windows系列软件产品相集成,协作性较好

Notes/Domino:IBM公司的商业电子邮件和办公协作软件产品,功能丰富、强大,提供跨平台支持

开源邮件系统

Sendmail:资格最古老,运行稳定,但安全性欠佳

Qmail:有更好的执行效率,配置、管理也很方便

Postfix:兼容Sendmail,采用模块化设计,在投递效率、稳定性、服务性能及安全性方面表现优秀

构建简单电子邮件系统:

Sendmail:提供邮件发送服务(SMTP)

Dovecot:提供邮件收取服务(POP3)

Outlook Express:用于收发信的客户端工具

案例环境:

IP地址:192.168.10.0/24

主机名: mail.unixsalon.com

邮件域:@unixsalon.com

邮件帐号:使用本地系统用户

使用dovecot提供收信服务

域名设置

需要在 unixsalon.com 域的DNS服务器中注册,设置相应的A记录和MX记录

@ IN MX 10 mail.unixsalon.com.

mail IN A 192.168.10.3

用户别名与邮件群组:

aliases 别名机制

一般使用 /etc/aliases 文件

aliases文件的记录格式

别名: 地址1, 地址2, 地址3, ……

执行newaliases命令,以更新别名设置

[root@localhost ~]# vi /etc/postfix/main.cf

……

alias_maps = hash:/etc/aliases

[root@mail ~]# vi /etc/aliases

……

student: zhangsan, natasha, mike, john

[root@mail ~]# newaliases

/etc/aliases: 78 aliases, longest 10 bytes, 802 bytes total

构建sendmail服务器:

建立邮件帐号:wendy、natasha

SMTP发信测试:telnet localhost 25

[root@mail ~]# telnet localhost 25

HELO localhost 宣告客户机地址

250 mail.unixsalon.com

MAIL FROM: wendy@unixsalon.com 告知发件人地址

250 2.1.0 Ok

RCPT TO: natasha@unixsalon.com 告知收件人地址

250 2.1.5 Ok

DATA 表明传送数据(信件)内容 354 End data with .

Subject: A Test Mail

HELLO!

This is a test mail!

. 信件最后一行以点号 . 表示结束

250 2.0.0 Ok: queued as 6F24D148440

QUIT

221 2.0.0 Bye

Connection closed by foreign host.

建立 dovecot.conf 配置文件:

[root@mail ~]# cp /etc/dovecot-example.conf /etc/dovecot.conf

[root@mail ~]# vi /etc/dovecot.conf

……

ssl_disable = yes 禁用SSL机制

……

protocols = pop3 imap 支持的邮局协议

……

disable_plaintext_auth = no 允许明文密码认证

……

mail_location = maildir:~/Maildir 邮件存储格式及位置

构建dovecot服务器:

启动dovecot服务

[root@mail ~]# service dovecot start

[root@mail ~]# netstat -anptl | grep dovecot

tcp 0 0 :::110 :::* LISTEN 8672/dovecot

tcp 0 0 :::143 :::* LISTEN 8672/dovecot

POP3收信测试:telnet localhost 110

[root@mail ~]# telnet localhost 110

Trying 127.0.0.1...

Connected to mail.localdomain (127.0.0.1).

Escape character is '^]'.

+OK Dovecot ready.

USER natasha

+OK

PASS 123456

+OK Logged in.

LIST

+OK 1 messages:

1 451

.

RETR 1

+OK 451 octets

Return-Path:

X-Original-To: natasha@unixsalon.com

Delivered-To: natasha@unixsalon.com

Received: from mail.unixsalon.com (mail.unixsalon.com [127.0.0.1])

by mail.unixsalon.com (Postfix) with SMTP id 6F24D148440

……

添加Webmail邮件界面:

安装

yum -y install squirrelmail

调整 config.php 配置文件

[root@mail webmail]# cd /etc/squirrelmail

[root@mail webmail]# vi config.php

$squirrelmail_default_language = 'zh_CN'; 使用中文界面

$default_charset = 'zh_CN.UTF-8';

$domain = 'unixsalon.com'; 默认邮件域名

$smtpServerAddress = 'localhost';

$smtpPort = 25;

$imap_server_type = 'dovecot';

$imapPort = 143;

确认启动 服务程序

在浏览器中访问Webmail界面

SASL软件来实现

Simple Authentication and Security Layer

1. 配置并启动saslauthd服务

建立配置文件:/usr/lib/sasl2/smtpd.conf

启动 saslauthd 服务

[root@mail ~]# cd /usr/lib/sasl2/

[root@mail sasl2]# vim /usr/lib/sasl2/Sendmail.conf

pwcheck_method: saslauthd 设置验证方式

[root@mail sasl2]# service saslauthd start

3. 测试带验证的SMTP发信功能

获得测试用帐号、密码的 BASE64 加密字串

通过 telnet 方式连接,并执行测试

[root@mail ~]# printf "wendy" | openssl base64

eGlhb3Fp 用户名加密字串

[root@mail ~]# printf "123456" | openssl base64

MTIzNDU2 密码加密字串

[root@localhost ~]# telnet mail.unixsalon.com 25

Trying 192.168.10.3...

Connected to 192.168.10.3 (192.168.10.3).

Escape character is '^]'.

220 mail.unixsalon.com ESMTP Postfix

EHLO localhost

……

250-AUTH PLAIN LOGIN

AUTH LOGIN 表明认证成功

334 VXNlcm5hbWU6

eGlhb3Fp

334 UGFzc3dvcmQ6

MTIzNDU2

235 2.0.0 Authentication successful

MAIL FROM: wendy@unixsalon.com

……

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SO_TIMESTAMP - 《Unix网络编程》中未提及的Socket选项
下一篇:人工智能将如何塑造商业和营销的未来!
相关文章