<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    afunms

    My Software,My Dream—Forge a more perfect NMS product.

    java email

    package afu.mymail;

    import java.io.*;
    import javax.mail.internet.*;
    import javax.mail.*;
    import java.util.*;

    public class RecieveMail
    {
        
    public RecieveMail()
        
    {
        }


        
    public void getMails(final String targetFolder) throws Exception
        
    {
            Properties props 
    = new Properties();
            Session session 
    = Session.getDefaultInstance(props, null);
            Store store 
    = session.getStore("pop3");
            store.connect(
    "pop.126.com","username","password");
            Folder folder 
    = store.getFolder("INBOX");    
            
    if(folder==null)
            
    {
                 System.out.println(
    "Sorry,can not find the inbox folder");
                 
    return;
            }

            folder.open(Folder.READ_WRITE);
            Message[] messages 
    = folder.getMessages();    
            
    if(messages.length==0//郵箱里沒有郵件
            {
                System.out.println(
    "Sorry,there are no email for you");
                folder.close(
    true);
                
    return;
            }

            
            System.out.println(
    "Congratulate,you have " + messages.length + " new emails");
            
    for(int i=0;i < messages.length;i++)
            
    {               
                String mailSubject 
    = getSubject(messages[i]);
                String emailfile 
    = targetFolder + mailSubject + ".html";
                System.out.println(emailfile);

                PrintWriter outFile 
    = null;
                
    try
                
    {
                    outFile 
    = new PrintWriter(new FileOutputStream(new File(emailfile)));
                    outFile.println(
    "郵件來源:" + getSourceEmailAddress(messages[i]) + "<br>");
                    outFile.println(parseMailContent(messages[i]));
                    messages[i].setFlag(Flags.Flag.DELETED,
    true); //delete email on server
                }

                
    catch(Exception e)
                
    {
                    System.out.println(
    "wrote mail " + mailSubject + " failed.");
                    
    //e.printStackTrace();                 
                }

                
    finally
                
    {
                    outFile.close();    
                }

            }

            folder.close(
    true);
            store.close();
        }


        
    /**
         * get email's subject
         
    */

        
    private String getSubject(final Message msg) throws MessagingException
        
    {
            String[] subjects 
    = msg.getHeader("Subject");
            
    if(subjects==nullreturn getCurrentLongTime();
            
            
    /**
             * may be more one subjects,but they have the same content
             
    */

            
    if(subjects[0]==null||subjects[0].equals("")) 
                
    return getCurrentLongTime();
            
            String subject 
    = decodeText(subjects[0]);
            
    int loc = subject.indexOf(" ");        
            
    if(loc==-1)
               
    return subject;
            
    else
            
    {
                loc 
    = subject.indexOf(" ",loc + 1);
                
    return subject.substring(loc + 1);
            }

        }

        
        
    /**
         * get current time
         
    */

        
    private String getCurrentLongTime()
        
    {
              
    return String.valueOf((new java.util.Date()).getTime());       
        }
        
        
        
    /**
         * email body is very complex,
         * this method parse email body to a string
         
    */

        
    private String parseMailContent(final Message msg) throws Exception
        
    {             
            
    if(msg.getContent() instanceof String)
                  
    return (String)msg.getContent();
        
            StringBuffer mailContent 
    = new StringBuffer(1000);
            Multipart multiPart 
    = (Multipart)msg.getContent();      
            String multiPartType 
    = multiPart.getContentType();
          
            BodyPart bodyPart 
    = multiPart.getBodyPart(0);
            
    if(bodyPart.getContent() instanceof String)
               mailContent.append((String)bodyPart.getContent());
            
    else if(bodyPart.getContent() instanceof MimeMultipart)
               mailContent.append(((MimeMultipart)bodyPart.getContent()).getBodyPart(
    0).getContent());
                  
              
    /**
               * deal with attachment
               
    */

            
    if(multiPartType.startsWith("multipart/mixed"))
            
    {
                mailContent.append(
    "<br>-----------附件:-----------<br>"); 
                
    for(int c = 1;c < multiPart.getCount(); c++)   
                
    {              
                    String fn 
    = extractAttachmentFileName(multiPart.getBodyPart(c).getContentType());
                    mailContent.append(fn).append(
    "<br>"); 
                }
     
            }

            
    return mailContent.toString();
        }

      
        
    /**
         * get source email address
         
    */

        
    private String getSourceEmailAddress(final Message msg) throws MessagingException
        
    {
            String address 
    = InternetAddress.toString(msg.getFrom());
            
    int foreindex = address.indexOf("<");
            
    int backindex = address.indexOf(">");
            
    if(foreindex == -1 || backindex == -1)
                
    return address;
            
    return address.substring(foreindex + 1,backindex);
        }

      
       
    /**
        * contentType contains attachment file name 
        * this method extract the file name from contentType string.
        
    */

        
    private String extractAttachmentFileName(final String contentType)
        
    {
            
    int loc = contentType.indexOf("name=");
            String fileName 
    = contentType.substring(loc + 6,contentType.length()-1);
                  
            
    return decodeText(fileName);
        }


        
    private String decodeText(final String contentText)
        
    {
            String dt 
    = null;
            
    try
            
    {
                dt 
    = MimeUtility.decodeText(contentText);
            }

            
    catch (UnsupportedEncodingException E)
            
    {
                dt 
    = "";   
            }

            
    return dt;
        }

           
        
    public static void main(String[] args)
        
    {
            
    try
            
    {
                RecieveMail rm 
    = new RecieveMail();
                rm.getMails(
    "D:\\resume\\0826\\");
            }

            
    catch(Exception e)
            
    {
                e.printStackTrace();
            }

        }

    }

    自動收取email,每個email生成一個html文件。不處理附件。

    posted on 2008-08-28 15:43 afunms 閱讀(259) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    My Links

    News

    留言簿(18)

    隨筆檔案

    相冊

    搜索

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 在线观看的免费网站无遮挡 | 亚洲精品国偷自产在线| 亚洲AV无码国产精品永久一区| 亚洲成人免费在线观看| 国产亚洲综合久久系列| 黄色短视频免费看| 中文字幕亚洲激情| 成人A毛片免费观看网站| 中文字幕精品无码亚洲字 | 免费看一区二区三区四区| 亚洲精品乱码久久久久久蜜桃不卡| 一级做a爱过程免费视| 亚洲精品国产V片在线观看| 国产免费伦精品一区二区三区| 久久激情亚洲精品无码?V| a级毛片无码免费真人久久| 精品国产亚洲一区二区三区| 成人无码a级毛片免费| 亚洲美女免费视频| 女人被弄到高潮的免费视频 | 2022免费国产精品福利在线| 国产亚洲A∨片在线观看| 久久这里只精品热免费99| 日韩精品一区二区亚洲AV观看 | 成年女人永久免费观看片| 日韩毛片免费一二三| 亚洲国产精品VA在线看黑人| 亚洲美女视频免费| 亚洲精品乱码久久久久久V| 亚洲日本中文字幕一区二区三区| 国产一精品一av一免费爽爽| 亚洲人成在久久综合网站| 国产精品国产自线拍免费软件| 黄色视频在线免费观看| 亚洲精品动漫在线| 国产青草视频在线观看免费影院| 中文字幕乱理片免费完整的| 亚洲天堂一区二区三区| 亚洲第一永久AV网站久久精品男人的天堂AV | 亚洲v高清理论电影| 在线看片人成视频免费无遮挡|