一 认识电子邮件服务器
对于电子邮件,人们都不陌生。那么,什么是邮件服务器昵?邮件服务器提供了邮件系统的基本结构,包括邮件传输、邮件分发、邮件存储等功能,以确保邮件能够发送到互联网中的任意地方。邮件服务器就像我们生活中的邮局,为人们提供邮件服务。
要保证邮件被正确地传输和接收,需要统一规则的支持,这就是邮件协议。邮件协议主要包括SMTP、POP3、IMAP等。
(1) SMTP:全称是SimpleMail Transfer Protocol,即简单邮件传输协议。。SMTP是用于发送电子邮件的协议。例如,我们平时使用Outlook、OutlookExpress来发送邮件的时候,就是使用它把本机的邮件发送到已注册邮箱的邮件服务器(如163、Google、Hotmail等)上,然后由邮件服务器再把邮件发送出去。SMTP确保客户端与邮件服务器之间可以高效地传输邮件。
(2) POP3:全称是PostOffice Protocol 3.即邮局协议的第三个版本。POP3是用于接收邮件的标准协议,类似于现实生活中我们去邮局取包裹。POP3允许用户从服务器上把邮件存储到本地计算机上,同时根据用户的操作删除或保存在邮件服务器上的邮件。
(3) IMAP:全称是InternetMessage Access Protocol,即互联网消息访问协议。IMAP是一个应用层协议,用来从本地的客户端访问远程服务器上的邮件,是POP3的替代协议。
这3种协议在传输时都是使用明文传输的,为了提高安全性,可以通过SSL (Secure SocketsLayer,安全套接层)进行加密传输。因此,这3种协议都对应有SSL加密传输的协议,分别是SMTPS、POP3S和IMAPS。
二 搭建电子邮件服务器
这里我们采用apache james 来搭建电子邮件服务器。
2.1 认识james
James是Apache的一个开源项目,纯Java实现,如图8.1所示。Apache James Server作为一个企业级的邮件服务器,对SMTP、POP3、I[MAP等邮件协议提供完整的支持。我们可以通过它来搭建自己的邮件服务器。我们可以在James的官方网站(http://j ames.apache.org/index.html)上下载到最稳定的James Server版本进行使用。本文中我们使用James Server 2.3.2。
2.2 搭建james邮件服务器
服务器端设置:
1. 下载ApacheJames-2.3.2.
2. 解压到*\James-2.3.2文件夹下
3. 配置系统的JAVA_HOME,右击桌面“我的电脑”点“属性”,进入“系统属性”界面,点击“高级”,在“高级”界面中点击“环境变量”
新建: 变量名为:JAVA_HOME ,值为系统中jdk安装路径(如:C:\Program Files\Java\jdk1.6.0_18)
4. 进入.\james-2.3.2\bin,双击运行run.bat文件 。jamas服务就启动了。然后关闭运行窗口。
5. 进入 .\james-2.3.2\apps\james\SAR-INF\ 找到config.xml文件,对该文件进行编辑
1).将 :(52行左右)
<postmaster>Postmaster@localhost</postmaster>
修改为 :
<postmaster>Postmaster@自定义后缀名(如 cepri.com)</postmaster>
2).将 :(71行左右)
<servernames autodetect="true"autodetectIP="true">
<!-- CONFIRM? -->
<servername>localhost</servername>
</servernames>
修改为 :
<servernames autodetect="false"autodetectIP="false">
<!-- CONFIRM? -->
<servername>自定义后缀名(如cepri.com)</servername>
</servernames>
3).将 :(551行左右)
<mailet match="RemoteAddrNotInNetwork=127.0.0.1"
class="ToProcessor">
<processor> relay-denied </processor>
<notice>550 - Requestedaction not taken: relaying denied</notice>
</mailet>
以上部分整体注释掉.
4).将 :(896行左右)
<authRequired>true</authRequired>的注释去掉,使其生效.
5).将 :(912行左右)
<authorizedAddresses>127.0.0.0/8</authorizedAddresses>
注释掉
6) 将917行作用(验证有效的发件人)
<verifyIdentity>true</verifyIdentity>的注释去掉,使其生效
7) 将c:\windows\system32\drivers\etc\中的host文件最后添加如下内容
127.0.0.1 obtk.com
6. 开启telenet服务
控制面板à程序和功能à打开或关闭windows功能
7. 重复第4步,启动james服务(如果启动不了,可以在logs里面观察日志),然后打开cmd,在cmd中输入命令:
telnet localhost 4555 (图2),然后在提示下输入默认的用户名:root ,密码:root(图3),输入 help 将显示各种命令及用法用途(图4)。
输入:adduser usernamepassword 添加新的用户,例如:adduser service 123456(图5)
这样就相当于注册了一个 名字 :service@cepri.com 登陆密码:123456 的邮箱账号。
图2:
图3:
图4:
图5:
三 验证
先按照上面的步骤注册两个账号test1@wx.com 密码:123 test2@wx.com 密码:123
然后可以下载任意的邮件客户端来验证,这里作者采用Foxmail
foxmail安装完毕后的配置如下
图1
图2:
图3
然后用test1给test2发邮件试试