• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

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

发布: 2007-7-04 13:34 | 作者: admin | 来源:  网友评论 | 查看: 18次 | 进入软件测试论坛讨论

领测软件测试网

/**
*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()
  {
  }
}

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网