javamail時間過濾
A. 請教JAVA 郵件系統的設計,以及一些業務邏輯.
個人想法,請參考:
1.保存到文件夾吧,我覺得不用移除附件內。 遇到有過濾附件的需求時再考慮吧容。
2.存郵件表的應該是包含郵件列表頁面顯示的內容吧。內容之外的是不是就可以不在這張表裡存了。比如抄送地址這種,就一並存到文件里吧,算是郵件頭。查看的時候解析。
3.同意,exchange web就是這樣的。
4.統一用utf8編碼吧
5.這個不太清楚,不好意思。
6.中間有異常的話是不是要算成草稿。就是1(入庫+寫文件)2 發送 3 根據發送修改數據記錄
7.不太清楚具體情況。debug一下呢? 內存中沒有大數據的處理吧?
B. javamail發送郵件測試時獲取發送郵件的時間為null,求教!!!
我測試了一下,如果這里設置為空值或者小於當前時間,那麼郵件系統會給個當前時間的默認值。如果設置大於當前時間,則郵件顯示的發送時間就是設置的時間。
你這里並沒有對sendDate賦值,取出來的肯定是空。
C. javamail 收郵件時候內容重復 怎麼過濾重復內容.100分給了
publicstaticStringreverse1(Stringstr)
{
returnnewStringBuffer(str).reverse().toString();
}
2.最常用的方法:
publicstaticStringreverse3(Strings)
{
char[]array=s.toCharArray();
Stringreverse="";//注意這是空串,不是null
for(inti=array.length-1;i>=0;i--)
reverse+=array[i];
returnreverse;
}
3.常用方法的變形:
publicstaticStringreverse2(Strings)
{
intlength=s.length();
Stringreverse="";//注意這是空串,不是null
for(inti=0;i<length;i++)
reverse=s.charAt(i)+reverse;//在字元串前面連接,而非常見的後面
returnreverse;
}
4.C語言中常用的方法:
publicstaticStringreverse5(Stringorig)
{
char[]s=orig.toCharArray();
intn=s.length-1;
inthalfLength=n/2;
for(inti=0;i<=halfLength;i++){
chartemp=s[i];
s[i]=s[n-i];
s[n-i]=temp;
}
returnnewString(s);//知道char數組和String相互轉化
}
D. java條件查詢(起始時間,結束時間),如何做過濾呀,文件的命名規則是時間-id號.txt
遍歷你抄整個文件夾,先獲取文襲件夾下文件的全名,然後截取出前面的 時間欄位 跟 你輸入的條件做比較
你點查詢不是把你的 開始日期 和 結束日期都傳到後台了嗎
date 類下是有方法判斷時間前後的
你全遍歷一遍,每個文件名比較一次不就行了嗎
E. java員工信息日期的過濾怎麼做,求代碼
是在什麼樣的環境、APPLICATION、WEB、還是SQL、
F. 求助牛人,javamail實現收件復雜篩選過濾
添加此Item int mailSize = 1024;
SearchTerm intComparisonTerm = new SizeTerm(
IntegerComparisonTerm.GE, mailSize);
G. javamail發送500萬封郵件需要多久,如何處理,資料庫裡面有500萬條數據,每條數據的收件人和發送內容不同
建議你使用發送郵件的工具,網上有很多,是收費的。
自己寫發送郵件的程序,多半會出現被視為垃圾郵件、伺服器發送失敗等一些問題。
H. 使用java 排除 兩個日期段中的 休息日和節假日 。在線等待中十萬火急,求大牛幫忙,多謝了。。。。
時間處理,更方便和更易讀的代碼角度講,肯定要用Java8的新date api啦,由於涉及到一系列日期,所以結合Java8的Stream也是理所當然
總體思路:
由於節假日每年在變,所以需要羅列出所有的節假日集合A
生成2016-01-01 至 2016-05-01所有的日期,生成日期集合B
從B中過濾掉A中的節假日
從B中過濾掉周六周日
最後把B中集合列印
結合思路,所見即所得的代碼如下:
//所有節假日的日期集合,這里你可以自己添加,只寫了兩個僅供參考(完成思路1)
List<LocalDate>holidays=Arrays.asList(LocalDate.parse("2016-01-01"),LocalDate.parse("2016-05-01"));
//按照起始2016-01-01,每次遞增一天的方式生成一個Stream
Stream.iterate(LocalDate.parse("2016-01-01"),localDate->localDate.plusDays(1))
//按照要求的時間間隔2016-01-01至2016-05-01中的實際間隔天數截斷Stream(完成思路2)
.limit(ChronoUnit.DAYS.between(LocalDate.parse("2016-01-01"),LocalDate.parse("2016-05-01")))
//過濾其中的節假日(完成思路3)
.filter(localDate->!holidays.contains(localDate))
//過濾其中的周六
.filter(localDate->!DayOfWeek.SATURDAY.equals(DayOfWeek.of(localDate.get(ChronoField.DAY_OF_WEEK))))
//過濾其中的周日(完成思路4)
.filter(localDate->!DayOfWeek.SUNDAY.equals(DayOfWeek.of(localDate.get(ChronoField.DAY_OF_WEEK))))
//列印最後結果(完成思路5)
.forEach(System.out::println);
列印的結果:
綜上:結合新時間API的易用性+Stream處理集合的快捷性,寫出代碼還是很簡潔的
I. 使用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 就能取出發送時間
}
J. 有木有JAVA關於郵件過濾方面的書
郵件過濾系統的設計與實現 王博 【摘要】: 隨著電子郵件的廣泛應用,各種垃圾、病毒郵件入侵郵件系統,嚴重影響郵件系統的正常使用。目前更多過濾系統是通過採用設置IP策略、郵件標題查找、MIME長度限制或具有一定智能查找的演算法等方案來在單機上實現。本方案主要採用設計垃圾、病毒郵件收集中心,搜集來自不同客戶端的配製策略,收集中心對數據進行綜合評定,根據處理結果決定是否通知郵件伺服器,如果通知郵件伺服器,伺服器更新資料庫,此方案使郵件伺服器及時的發現垃圾、病毒郵件,節省了網路帶寬並提高了過濾准確效率,也節省了寶貴的系統資源。 在郵件過濾系統設計中,利用了JAVAMAIL軟體包的開發技術,涉及基於郵件附件大小、垃圾詞語、垃圾郵件產生源地址及病毒過濾等方面,縮短了開發周期。同時,山於JAVAMAIL是JAVA語言的一個子集,自然,在界面開發中用了JAVA開發工具。並且,由於垃圾、病毒郵件是在動態變化的,如何高效准確快速的進行判斷是軟體設計中要考慮的一個非常重要的因素。對此,本系統設計了採用基於CORBA技術的收集中心,它的主要工作是收集來自不同客戶端的郵件數據,對從不同客戶端採集來的數據進行分類整理、綜合測評,對不同等級的可疑詞語、短語、句子或者附件進行評價,將得到的結果在本地資料庫保存,並及時通知郵件伺服器對數據進行更新。 郵件過濾系統的設計離不開對傳統郵件系統的深入研究,本文也詳細剖析了郵件系統從高層到底層的實現過程,包括其中涉及到的不同層次的協議、服務與介面等。同時,在實現過程中也用到了一些郵件協議,比如:SMTP協議、POP協議和IMAP協議等。並且,在過濾過程中需要對郵件格式進行處理,這涉及到MIME,如何按照一定的MIME格式對郵件內容進行提取,也是郵件過濾的一個很重要的方面。同時,在對郵件附件過濾過程中,需要進行很多相關的提取處理,在用JAVAMAIL開發過程中,這也是很重要的一個方面。 在對附件處理過程中,需要進行掃描、查毒處理,查毒可以採用多種方式。本設計主要採用按特徵值進行查毒的方式,該方法快速,實現簡單,但是在對付一些變種病毒郵件上,由於該方法自適應能力差,所以有一定的限制。同時,病毒特徵碼資料庫也要能進行動態的更新,以求能實時的進行郵件掃描。 【關鍵詞】: 過濾 協議 垃圾郵件 病毒 【學位授予單位】: 山東理工大學 【學位級別】: 碩士 【學位授予年份】: 2006 【分類號】: TP393.098 【DOI】: CNKI:CDMD:2.2006.100637 【目錄】: 第一章 緒論8-17 1.1 垃圾郵件的來源與危害8 1.2 垃圾郵件的特點與過濾垃圾郵件的困難性8 1.3 病毒郵件的特點與危害8-9 1.4 郵件過濾的必要性9-10 1.5 常見的郵件過濾器10-15 1.5.1 MTA過濾器11-13 1.5.2 MDA過濾器13 1.5.3 MUA過濾器13-15 1.6 郵件過濾器的研究現狀15-17 第二章 電子郵件系統17-27 2.1 郵件系統綜述17-19 2.1.1 電子郵件工作原理概述17-18 2.1.2 電子郵件的消息格式18-19 2.2 電子郵件的發送與接收19-22 2.2.1 MUA發送郵件20 2.2.2 通過MTA傳輸郵件20-21 2.2.3 MDA傳遞郵件21 2.2.4 MRA獲取郵件21 2.2.5 由MUA獲取郵件21-22 2.3 郵件傳輸涉及的協議、規則與服務22-27 2.3.1 SMTP協議22 2.3.2 POP與IMAP4協議22-23 2.3.3 DNS伺服器在郵件系統中的作用23 2.3.4 MIME—多用途網際網路郵件擴展23-27 第三章 郵件過濾系統的總體設計27-55 3.1 郵件系統的設計與實現28-40 3.1.1 郵件客戶端運行界面28-32 3.1.2 郵件服務端運行界面32-35 3.1.3 郵件客戶端設計35-37 3.1.4 郵件伺服器設計37-40 3.2 郵件過濾系統的設計與實現40-52 3.2.1 對郵件主題包含一定關鍵詞的限制40 3.2.2 對信件來源地進行限制40-41 3.2.3 對郵件信頭欄位大小的限制41 3.2.4 對郵件全文位元組數的限制41-42 3.2.5 對郵件附件名的限制42 3.2.6 對郵件附件大小的限制42-43 3.2.7 根據MIME Content-Type和Content-Disposition欄位里的文件類型過濾43 3.2.8 對郵件附件內容過濾43-52 3.2.8.1 base64編碼與解碼44 3.2.8.2 JAVA模式匹配44-45 3.2.8.3 郵件病毒掃描45-52 3.3 收集中心的設計與實現52-55 3.3.1 定義IDL52-53 3.3.2 將IDL編譯成Java介面以實現該介面53-54 3.3.3 定義實現此介面的類54 3.3.4 收集中心的實現54-55 第四章 系統設計中的關鍵技術55-61 4.1 JAVAMAIL技術55-58 4.1.1 會話類(session)55 4.1.2 消息類(MimeMessage)55-56 4.1.3 地址類56-57 4.1.4 身份驗證類57 4.1.5 傳輸類57 4.1.6 存儲類和文件夾類57-58 4.2 CORBA技術58-61 4.2.1 ORB58-59 4.2.2 存根與框架59 4.2.3 IDL59-60 4.2.4 命名服務60 4.2.5 JAVA中引入的CORBA包60-61 第五章 郵件過濾性能評價61-63 5.1 實驗結果61 5.2 實驗結果分析61-63 第六章 總結與展望63-64 6.1 工作總結63 6.2 展望63-64 致謝64-65 參考文獻65-68 附錄一 開發環境68-69 附錄二 部分源代碼69-90 作者在讀碩士期間發表的論文90 這本書你去書店看看有木有
採納哦