/**
 *module:UEMailServerManagementAction
 *description:action
 */
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package org.luonix.struts.action;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.luonix.struts.form.UEMailServerManagementForm;/** 
 * MyEclipse Struts
 * Creation date: 09-27-2007
 * 
 * XDoclet definition:
 * @struts.action path="/uEMailServerManagement" name="uEMailServerManagementForm" input="/form/uEMailServerManagement.jsp" scope="request" validate="true"
 * @struts.action-forward name="errors" path="/errors.jsp" redirect="true"
 *///public ActionForward executeLogin(ActionMapping mapping, ActionForm form,
// HttpServletRequest request, HttpServletResponse response)用于登录邮件服务器,并接收//电子邮件
public class UEMailServerManagementAction 
extends org.apache.struts.actions.DispatchAction {
/*
 * Generated Methods
 */ /** 
 * Method execute
 * @param mapping
 * @param form
 * @param request
 * @param response
 * @return ActionForward
 */
public ActionForward executeConnect(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UEMailServerManagementForm uEMailServerManagementForm = (UEMailServerManagementForm) form;// TODO Auto-generated method stub

return null;
}
public ActionForward executeLogin(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
UEMailServerManagementForm uEMailServerManagementForm = (UEMailServerManagementForm) form;// TODO Auto-generated method stub
String host = "127.0.0.1";
//org.apache.struts.action.ActionForward forward = new 
//org.apache.struts.action.ActionForward();
//forward.setPath("/secondAction?method=mymethod");
String luonixid = uEMailServerManagementForm.getLuonixid();
String password = uEMailServerManagementForm.getPassword();
String protocol = "pop3";
java.util.Properties properties = java.lang.System.getProperties();
try{
javax.mail.Session session = 
javax.mail.Session.getInstance(properties, null);
session.setDebug(true);
javax.mail.Store store = null;
store = session.getStore(protocol);
store.connect(host, luonixid, password);
//store.close();
////
javax.mail.Folder folder = store.getDefaultFolder();
if(folder == null) throw new Exception("no default folder");
folder = folder.getFolder("INBOX");
if(folder == null) throw new Exception("NO POP3 INBOX"); 
////
//javax.mail.Folder folder = store.getFolder("INBOX");
System.out.println("邮箱打开了吗 " + folder.isOpen());
if(!folder.isOpen())
folder.open(javax.mail.Folder.READ_ONLY);
System.out.println("邮箱打开了吗 " + folder.isOpen());
//folder.notifyAll();
//folder.open(javax.mail.Folder.READ_ONLY);
System.out.println("folder.getMessageCount:" + 
folder.getMessageCount());
javax.mail.Message message[] = folder.getMessages();
int size = message.length;
if(size == 0){
System.out.println("你的收件夹里没有邮件");
javax.servlet.RequestDispatcher rd = 
request.getRequestDispatcher("errors.jsp");
rd.forward(request, response);
}else{
System.out.println("你的收件夹里有" + size + "封邮件");
//mapping.findForward("mail");
//javax.mail.internet.MimeMessage mm = 
// (javax.mail.internet.MimeMessage)message[0];
//System.out.println(mm.getSubject());
org.apache.struts.action.ActionForward forward = new  
org.apache.struts.action.ActionForward();
forward.setPath("/mail.jsp");
return forward;
}

}catch(javax.mail.MessagingException me){

}catch(javax.servlet.ServletException se){

}catch(java.io.IOException ioe){

}
return null;
}
public ActionForward executeDisconnect(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UEMailServerManagementForm uEMailServerManagementForm = (UEMailServerManagementForm) form;// TODO Auto-generated method stub
return null;
}
}
//public ActionForward executeLogin(ActionMapping mapping, ActionForm form,
// HttpServletRequest request, HttpServletResponse response)用于登录邮件服务器,并接收//电子邮件运行结果:
DEBUG: setDebug: JavaMail version 1.3.1
DEBUG: getProvider() returning javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]
DEBUG POP3: connecting to host "127.0.0.1", port 110
S: +OK ArGoSoft Mail Server, Version 1.4 (1.4.0.3)
C: USER daidai
S: +OK Password required for daidai
C: PASS jxcoco1128
S: +OK Mailbox locked and ready
邮箱打开了吗 false
C: STAT
S: +OK 0 0
邮箱打开了吗 true
folder.getMessageCount:0
你的收件夹里没有邮件
C: QUIT
问题:我收件夹中明明有邮件,可就是取不出邮件来。读取的邮件数目为0,我想是POP3的问题,可怎么解决?高手指教解决。

解决方案 »

  1.   

       顶!
       刚好我也在做这个,不过我还没到你这步,帮不了你。
       我现在卡在使用imap协议连不上imap.163.com的服务器,
       不知道是不是163.com不支持imap,想想也不大可能,晕
      

  2.   

       楼主,想跟你讨论下,使用pop3连接服务器,不是只能获取INBOX目录吗,
       那象Draft,Trash这些目录不能获取,那其对应功能应该怎么实现?
       比如,删除INBOX里的邮件,要把邮件转到Trash里,但是却没有获取Trash。
      

  3.   

    我现在就想有人能帮我彻底解决掉S: +OK Mailbox locked and ready 这个问题  我卡这里有一段时间老 郁闷
      

  4.   

    我也是走到这卡这了,一直显示邮件箱为空
    有人说关闭Outlook Express就OK了,我也试了,可还是不行?
    有高手能解决此问题的,希望快出高招呀,谢谢!