真实网络环境下使用易邮搭建网络邮件服务器并测试通过

来源:互联网 发布:linux 播放器剪辑 编辑:程序博客网 时间:2024/05/01 18:11

条件:自己注册的域名:huyouni.cn,购买阿里云的公网虚拟主机的ip114.215.154.53

实验环境:本地电脑,win7旗舰64位,服务器:windows server 201264

操作方式:本地电脑远程连接阿里云服务器:

实验所用易邮服务器下载地址:http://download.csdn.net/detail/u010476739/8061899 

实验文档下载地址:http://download.csdn.net/detail/u010476739/8061903

搭建邮件服务器:

 

1、 在域名申请的地方注册mx解析记录:

1.1:首先注册一条A记录:mail.huyouni.cn如图:



1.2:然后注册mx记录:



都注册好后,会看到:



2、 为了确认能使用这条mx记录了,在自己的电脑上测试:

Cmd-->nslookup-->set type=mx-->huyouni.cn,这样会显示结果,过程如图:



这就说明,确实注册了一个mx记录,接下来就在服务器这边搭建邮件服务器了

3、 在自己的服务器上安装并设置好易邮邮件服务器:(安装包直接双击安装,傻瓜式)

安装好之后,设置如下:



设置好之后,新建两个账户,分别是:jack 123456,john 123456(密码均为123456)

建立jack账户示例:



两个账户都建立好之后,系统显示:



可见默认每个用户都有一封邮件(这个是系统管理员发送给新用户的邮件)。

4、接下来我们就手动在自己的电脑上,给我们配置好的邮件服务器发送邮件了:(服务器内部两个用户互发邮件)

         首先使用telnet连接到我们的邮件服务器的主机(无法打开telnet功能的见附录A),连接过程这里提供向下则不再提供:

        

一步一步的执行下面的命令。(下面每个命令以及命令的含义见附录B,发送邮件时登录到服务器是需要将用户名和密码进行base64编码的,base64编码的代码见附录C)


 

这时再观察我们的我们的服务器上面的邮件服务器的页面:


可以看出我们发送的邮件已经到我们的服务器了。

下面我们使用john的账号去获取我们刚刚发送的邮件:


这次我们看到我们刚刚发送的邮件了!

5、通过互联网发送邮件(服务器和互联网服务器之间发送邮件如:sina

(我提前注册号了sina的一个邮箱,用户名:jack_demo@sina.com,密码:jack_demo

5.1:下面是使用自己服务器的jack账户给sinajack_demo@sina.com账户发送邮件

 

稍等片刻,然后登录新浪的邮箱,接收到了邮件:



现在成功了一小半!

5.2、下面是使用新浪的账号:jack_demo@sina.com给我们的jack@huyouni.cn发送一封邮件(可以再sinaweb页面中手动发送,也可以在自己的cmd中连接到sina的服务器发送,后面的附录B里提供了后者的发送命令)

在Sina的web页面里给jack@huyouni.cn发送邮件情况如下图:



稍等片刻,查看我们的邮件服务器,如图:



这样我们直接从服务器端看到了收到的来自新浪邮箱的邮件,那么我们还可以使用telnet在自己的cmd窗口中取出来这封邮件:

 

下面是自己取出来sina发送来的邮件情况,如图(图里面的邮件内容,我也没看懂):


现在大功告成了,总结一下:我们完成了域名注册MX记录、安装配置服务器上的邮件服务器、和互联网上的其他邮件服务器互发邮件。

 

附录A

telnet命令提示不是内部命令或程序的时候,将自己电脑的telnet功能开启:




 

附录B(附上自己试验的在命令行输入的那些命令,使用的时候现在文本编辑器里面根据自己的情况修改好,然后直接粘贴到命令行中即可。)

 

 

*******自己远程易邮服务器(内部的两个用户之间):jack给jhon发送邮件*********

telnet mail.huyouni.cn 25        【使用telnet命令远程连接到mail.huyouni.cn主机的25号端口】

ehlo xxx                      【向服务器打个招呼,‘xxx’代表任意值】

auth login                            【服务器,我要登陆了】

amFjaw==                           【自己登陆的用户名,是要经过base64编码的,这里的用户名是‘jack’经过base64编码后是:amFjaw==】

MTIzNDU2                       【自己登陆的密码,是要经过base64编码的,这里的密码是‘123456’经过base64编码后是:MTIzNDU2】

mail from:<jack@huyouni.cn>         【表示这封邮件是谁发送的】

rcpt to:<john@huyouni.cn>     【表示邮件发送的目的地】

data                             【标记下面是邮件的内容】

from:<jack@huyouni.cn>                  【再次说明邮件时谁发送的】

to:<john@huyouni.cn>             【再次说明邮件时发送给谁的】

subject:给各位老师的一封信        【邮件的主题】

各位老师:                       【邮件的内容】

                                     【注意:这里有一空行,起到的是标记作用】

.                                    【这里的符号‘.’结合上面的空行表示邮件内容结束】

quit                              【断开和服务器的连接】

*********发送成功了***********

 

 

**********自己远程易邮服务器(内部的两个用户之间):jhon接受jack发送的邮件***********

telnet mail.huyouni.cn 110      【使用telnet命令远程连接到mail.huyouni.cn主机的110号端口】

user john                    【表示自己是:john】

pass 123456                       【自己的密码是:123456】

stat                              【看一下自己邮箱的状态】

list                                【列出来自己邮箱的邮件】

retr 2                                    【取出来列表中的第二封邮件】

************注意不能因为输入错误就在命令行中进行修改,这是会出问题的。实验成功!******

 

 

 

 

*******自己远程易邮服务器:本地jack账号给新浪上的一个账号(用户:jack_demo@sina.com,密码:jack_demo)发送邮件*********

telnet mail.huyouni.cn 25

ehlo xxx

auth login

amFjaw==                           【base64编码:jack】

MTIzNDU2                          【base64编码:123456】

mail from:<jack@huyouni.cn>

rcpt to:<jack_demo@sina.com>

data

from:<jack@huyouni.cn>

to:<jack_demo@sina.com>

subject:给各位老师的一封信

火焰,你好,this is a demo!

        

.

quit

*********发送成功了***********

 

 

 

 

*******使用新浪上的一个账号:jack_demo@sina.com给我们服务器账户:jack@huyouni.cn发送一封邮件发送邮件,(这个可以再浏览器的页面中手动发送)*********

telnet smtp.huyouni.cn 25

ehlo xxx

auth login

amFja19kZW1v                           【base64编码:jack_demo】

amFja19kZW1v                           【base64编码:jack_demo】

mail from:<jack_demo@sina.com>

rcpt to:<jack@huyouni.cn>

data

from:<jack_demo@sina.com>

to:<jack@huyouni.cn>

subject:给各位老师的一封信

火焰,你好,this is a mail from sina.

        

.

quit

*********发送成功了***********

 

 

 

*******取出我们服务器上的jack账户下收到的来自sina的邮件*********

telnet mail.huyouni.cn 110

user jack

pass 123456

stat

list

retr 2

************注意不能因为输入错误就在命令行中进行修改,这是会出问题的。******另外

附录C

附上实验时base64编码的代码(使用的时候在eclipse中运行换上自己的要进行base64编码的值就可以了):

packagecom.jack;

 

importcom.sun.mail.util.BASE64EncoderStream;

 

public class Temp {

  public static void main(String[] args) {

     System.out.println(new String(BASE64EncoderStream.encode("jack_demo".getBytes())));

     System.out.println(new String(BASE64EncoderStream.encode("jack_demo".getBytes())));

  }

 

}

 

1 0
原创粉丝点击