在servlet中直接写端口发送邮件的例子

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

/**

*Class TestEmail

*@author yancheng(j-share.onchina.net)

*@version 1.0.0

*

* use write socket to send email.

*/

import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

import java.util.*;

import java.net.*;

public class TestEmail extends HttpServlet

{

private static final String CONTENT_TYPE = "text/html";

public void init(ServletConfig config) throws ServletException

{

super.init(config);

}

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException

{

response.setContentType(CONTENT_TYPE);

PrintWriter out = response.getWriter();

Socket s = new Socket("smtp.163.net",25);

PrintWriter ou = new PrintWriter(s.getOutputStream(),true);

BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));

out.println("<html>");

out.println("<head><title>TestEmail</title></head>");

out.println("<body>");

String instr = null;

boolean isOk = false;

try{

ou.println("HELO:smtp.163.net");

out.println(in.readLine());

ou.println("MAIL FROM:showtop@163.net");

instr = in.readLine();

out.println(instr);

if(instr.startsWith("250")) isOk = true;

else isOk=false;

if(isOk){

ou.println("RCPT TO:ycshowtop@21cn.com");

instr = in.readLine();

out.println(instr);

if(instr.startsWith("250")) isOk=true;

else isOk = false;

}

if(isOk){

ou.println("DATA");

instr = in.readLine();

out.println(instr);

if(instr.startsWith("250")) isOk = true;

else isOk=false;

}

ou.println("这是一个测试邮件");

ou.println(".");

instr = in.readLine();

out.println(instr);

if(instr.startsWith("250")) isOk=true;

else isOk=false;

ou.println("QUIT");

s.close();

}

catch(IOException x)

{

x.printStackTrace(System.err);

}

out.println("<p>ok</p>");

out.println("</body></html>");

}

public void destroy()

{

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航