⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 peekandpickservlet.java

📁 由Jonathan Knudsen开发的移动电话RSS阅读器.
💻 JAVA
字号:
import java.io.*;
import java.text.*;
import java.util.*;

import javax.mail.*;
import javax.mail.internet.*;
import javax.servlet.http.*;
import javax.servlet.*;

public class PeekAndPickServlet extends HttpServlet {
  private DateFormat mDateFormat;
  private String mMailServer;
  
  public void init() {
    mDateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
    mMailServer = getInitParameter("PeekAndPick.mailServer");
    timeLog("init() completed");
  }
  
  public void doPost(HttpServletRequest request,
      HttpServletResponse response)
      throws ServletException, IOException {
    
    // Open up the posted content and read it.
    BufferedReader in = request.getReader();
    
    // Get the server and destination address.
    String log = in.readLine();
    String address = in.readLine();
    
    StringBuffer content = new StringBuffer();
    String line = null;
    while ((line = in.readLine()) != null) {
      content.append(line);
      content.append('\n');
    }

    // Default response message.
    String message = "100 ok";

    try {    
      sendMail(mMailServer, address, content.toString());
    }
    catch (Throwable t) {
      message = "200 " + t.toString();
    }
    
    timeLog(address + ": " + message);
    
    // Send back a response.
    response.setContentType("text/plain");
    response.setContentLength(message.length());
    PrintWriter out = response.getWriter();
    out.println(message);
    out.flush();
  }
  
  public void destroy() {
    timeLog("destroy() completed");
  }

  private void sendMail(String server, String address,
      String content) throws Exception {
    // Send the e-mail.
    Properties p = new Properties();
    p.put("mail.smtp.host", server);
    
    Session s = Session.getDefaultInstance(p, null);
    
    InternetAddress from = new InternetAddress("PeekAndPick <" + address + ">");
    InternetAddress to = new InternetAddress(address);
    
    MimeMessage m = new MimeMessage(s);
    m.setFrom(from);
    m.addRecipient(Message.RecipientType.TO, to);
    String now = mDateFormat.format(new java.util.Date());
    m.setSubject("Mail from PeekAndPick [" + now + "]");
    m.setText(content.toString());
    
    Transport.send(m);
  }
  
  private void timeLog(String s) {
    Date now = new Date();
    log("[" + mDateFormat.format(now) + "] " + s);
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -