一、程序的实现
SMTP (Simple Mail Transfer Protocol) :电子邮件从客户机传输到服务器或从某一个服务器传输到另一个服务器使用的传输协议。SMTP是请求/响应协议,命令和响应都是基于ASCII文本,并以CR和LF符结束。响应包括一个表示返回状态的三位数字代码。SMTP在TCP协议25端口监听连接请求。首先,我们创建套接字,然后创建基于套接字输入输出流的过滤器流。可以方便的向服务器整行读取写入数据。相关代码如下:
java.net.Socket s=newjava.net.Socket(_smtp.getText(),25);//创建套接字,SMTP默认25端口
_out=newPrintWriter(s.getOutputStream());//实例化输入输出流
_in=newBufferedReader(newInputStreamReader(s.getInputStream()));
Send()函数用来发送数据后读取服务器的响应。其异常抛出由调用者处理,send函数将发送的信息写入到服务器,同时在状态栏输出,整行读取数据后将响应状态也在侧边栏输出。
主要发送命令如下:
send(null);
send("HELO "+ java.net.InetAddress.getLocalHost().getHostName()+"\r\n");//noly
/*用户验证,发送base64加密的用户名密码*/
send("AUTH LOGIN"+"\r\n");//only
send((newsun.misc.BASE64Encoder()).encode(_from.getText().getBytes())&#