2012-05-21 40 views
-1
import com.sun.mail.pop3.POP3Folder; 
import com.sun.mail.pop3.POP3SSLStore; 
import javax.mail.Session; 
import javax.mail.Flags; 
import javax.mail.Message; 
import java.util.Date; 
import java.text.SimpleDateFormat; 
import java.util.StringTokenizer; 
import javax.mail.internet.MimeMessage; 
import java.io.FileOutputStream; 
import java.io.File; 
import java.io.ObjectOutputStream; 
import java.io.Writer; 
import java.net.URL; 
import javax.mail.Transport; 
import javax.mail.internet.InternetAddress; 
import javax.mail.Store; 
import javax.mail.Folder; 
import java.util.Properties; 
import javax.mail.URLName; 


/** 
* This class is responsible for deleting e-mails. 
* 
* @author <a href="mailto:[email protected]">Frank W. Zammetti</a>. 
*/public class deletemail { 

    private static final String SMTP_HOST_NAME = "smtp.gmail.com"; 
    private static final int SMTP_HOST_PORT = 465; 
    private static final String SMTP_AUTH_USER = "[email protected]"; 
    private static final String SMTP_AUTH_PWD = "examplepassword"; 
private Session session; 
    private POP3SSLStore store; 
    private String username; 
    private String password; 
    private POP3Folder folder; 
     URLName url; 
    public static void main(String[] args) throws Exception{ 
     new deletemail().test(); 
    } 

    public void test() throws Exception{ 
     try{ 
     Properties pop3props = new Properties(); 
     //---------------------------------------------- 
      String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory"; 
     Properties pop3Props = new Properties(); 
     pop3Props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY); 
     pop3Props.setProperty("mail.pop3.socketFactory.fallback", "false"); 
     pop3Props.setProperty("mail.pop3.port", "995"); 
     pop3Props.setProperty("mail.pop3.socketFactory.port", "995"); 
     username="[email protected]"; 
     password="examplepassword"; 
     url = new URLName("pop3", "pop.gmail.com", 995, "", username, password); 
     session = Session.getInstance(pop3Props, null); 
     store = new POP3SSLStore(session, url); 
     store.connect(); 
     folder = (POP3Folder) store.getFolder("INBOX"); 
     folder.open(Folder.READ_WRITE); 
     Message message[] = folder.getMessages(); 
     System.out.println(message.length); 
    for (int i=0, n=message.length; i<n; i++) { 
     message[i].setFlag(Flags.Flag.DELETED, true); 
     System.out.println("hello world"); 

    } 
     folder.close(true); 
     store.close(); 
    } 
    catch (Exception e) { 

     e.printStackTrace(); 

    } 
finally { 
     try { 
     if (folder != null) { 
      folder.close(true); 
     } 
     if (store != null) { 
      store.close(); 
     } 
     } catch (Exception e) { } 

    } 
    } 
} 

讓第一中框包含10個消息 message.length = 10 執行該程序消息之後。 長度得到decresed 0 但是當我打開我的Gmail帳戶messaes 仍然thereand他們沒有得到從收件箱刪除從Gmail服務器發送一個電子郵件用JavaMail API

+4

您可能想要從發佈中刪除您的電子郵件地址和密碼 –

回答

-1

Gmail help page或許能解釋這是怎麼回事刪除。

+1

該頁面與IMAP相關,代碼使用的是POP3。 – madth3

+0

對不起,那我不知道。協議跟蹤是否提供任何線索?另請注意,您可以按照此處所述簡化代碼:http://www.oracle.com/technetwork/java/javamail/faq/index.html#commonmistakes –

相關問題