/** *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(""); out.println(" TestEmail"); out.println(""); 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(" ok "); out.println(""); } public void destroy() { } }
|