『壹』 使用javamail查詢收件箱,如何獲得郵件的發送時間呢請詳細說明,謝謝
首先必須獲取抄鏈接:
Properties props = new Properties();
Session session = Session.getInstance(props);
Store store = session.getStore(receiptorPro);
store.connect(「接受郵件伺服器」, 「埠」, 「用戶名」, 「密碼」);
打開Folder:
Folder inbox = store.getFolder("INBOX");
Folder有pop3和imap兩種:
IMAPFolder folder = (IMAPFolder) inbox;
folder.open(Folder.READ_WRITE);//Folder.READ_WRITE為打開狀態
獲取郵件:
Message[] messages = folder.getMessages();
for (int i = 0; i < messages.length; i++) {
Date sendDate = messages[i].getSentDate();
//ok 就能取出發送時間
}
『貳』 java中如何實現公司郵箱發送郵件配置
Java中可以通過Javamail API實現公司郵箱郵件發送配置,Java mail是利用現有的郵箱賬戶發送郵件的版工具,具體步權驟如如下:
1、通過JavamailAPI設置發送者郵箱用戶名及密碼
2、通過JavamailAPI設置郵件主題、郵件內容、附件及郵件發送時間
3、通過JavamailAPI設置發送者郵箱地址及接收者郵箱地址,接收者地址可以是多個及抄送
4、郵件的需基本元素都設置完畢後,即可通過Javamail API的發送介面執行發送操作。
『叄』 javamail的tls和ssl方式是什麼意思
tls/ssl協議是安全通訊協議。這種協議目前各種大型郵件傳輸服務商都支持,有的郵回箱可以設置沒有這個協議不答能發送郵件。其實不用太關注這個通訊協議,在使用javamail中使用tls/ssl也很簡單:就是加一個配置而已,其他內容已經封裝好了。
附:SSL/TLS 單向認證
用戶到伺服器之間存在單方面的認證,即客戶端會認證伺服器端身份,而伺服器端不會去對客戶端身份進行驗證。首先,客戶端發起握手請求,伺服器收到握手請求後,會選擇適合雙方的協議版本和加密方式。然後,再將協商的結果和伺服器端的公鑰一起發送給客戶端。客戶端利用伺服器端的公鑰,對要發送的數據進行加密,並發送給伺服器端。伺服器端收到後,會用本地私鑰對收到的客戶端加密數據進行解密。然後,通訊雙方都會使用這些數據來產生雙方之間通訊的加密密鑰。接下來,雙方就可以開始安全通訊過程了。
『肆』 如何使用JavaMail刪除QQ郵件伺服器上的郵件
JavaMail是提供給開發者處理電子郵件相關的編程介面。它是Sun發布的用來處理email的API。可以方便地執行一些常用的郵件傳輸。
如果需要使用JavaMail編程來實現刪除QQ郵件伺服器上的郵件,可以參考以下代碼,在調用deleteMessages方法時,只需要傳入郵件伺服器地址、埠、郵箱登錄用戶名、登錄密碼以及需要刪除的郵件主題五個參數即可:
packagecom.what21.network.mail;
importjava.util.Properties;
importjavax.mail.Flags;
importjavax.mail.Folder;
importjavax.mail.Message;
importjavax.mail.MessagingException;
importjavax.mail.NoSuchProviderException;
importjavax.mail.Session;
importjavax.mail.Store;
{
/**
*刪除主題中包含subjectToDelete字元串的所有郵件
*
*@param郵箱伺服器地址
*@param郵箱伺服器埠
*@param登錄用戶名
*@param登錄密碼
*@param如果郵件主題包含這個字元串就會對其進行刪除操作
*/
publicvoiddeleteMessages(Stringhost,Stringport,StringuserName,
Stringpassword,StringsubjectToDelete){
Propertiesproperties=newProperties();
//郵箱伺服器配置
properties.put("mail.imap.host",host);
properties.put("mail.imap.port",port);
//SSL連接配置
properties.setProperty("mail.imap.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
properties.setProperty("mail.imap.socketFactory.fallback","false");
properties.setProperty("mail.imap.socketFactory.port",
String.valueOf(port));
Sessionsession=Session.getDefaultInstance(properties);
try{
//連接郵箱伺服器
Storestore=session.getStore("imap");
store.connect(userName,password);
//打開收件箱
FolderfolderInbox=store.getFolder("INBOX");
folderInbox.open(Folder.READ_WRITE);
//從伺服器獲取新郵件
Message[]arrayMessages=folderInbox.getMessages();
for(inti=0;i<arrayMessages.length;i++){
Messagemessage=arrayMessages[i];
Stringsubject=message.getSubject();
if(subject.contains(subjectToDelete)){
//給需要刪除的郵件打上標簽
message.setFlag(Flags.Flag.DELETED,true);
System.out.println("MarkedDELETEformessage:"+subject);
}
}
//刪除指定的郵件
booleanexpunge=true;
folderInbox.close(expunge);
//anotherway:
//folderInbox.expunge();
//folderInbox.close(false);
//斷開連接
store.close();
}catch(NoSuchProviderExceptionex){
System.out.println("Noprovider.");
ex.printStackTrace();
}catch(MessagingExceptionex){
System.out.println(".");
ex.printStackTrace();
}
}
/**
*測試-Gmail郵箱
*protocol.
*/
publicstaticvoidmain(String[]args){
Stringhost="imap.gmail.com";
Stringport="993";
StringuserName="your_email";
Stringpassword="your_password";
EmailMessageRemoverremover=newEmailMessageRemover();
StringsubjectToDelete="Newsletter";
remover.deleteMessages(host,port,userName,password,subjectToDelete);
}
}