javaemail的簡單介紹

本文目錄一覽:

java email怎麼獲取收件箱已發送已刪除中的郵件 csdn

其實刪除郵件很簡單,在接收郵件的基礎上對需要刪除的郵件做一個標記(Flags類),然後程序就會對有做了標記的郵件進行刪除。

在Flags類的內部類Flag中預定義了一些標誌:

Flags.Flag.ANSWERED

Flags.Flag.DELETED (刪除的標記,這一講我們就要用到這個標記)

Flags.Flag.DRAFT

Flags.Flag.FLAGGED

Flags.Flag.RECENT

Flags.Flag.SEEN

Flags.Flag.USER

刪除郵件:message[i].setFlag(Flags.Flag.DELETED, true);

講到這裡我想大家都已經想到刪除一封郵件的程序到底怎樣寫了。

不過有一點要注意的,上一講我們打開Folder的時候是用READ_ONLY,當然讀文件用READ_ONLY是做夠的,但是我要這一講要做的操作時刪除文件,READ_ONLY是沒有刪除郵件的權限,所以我們要改為READ_WRITE。

如果要檢查某個郵件是否標記了Flags.Flag.DELETED,可以使用message[i].isSet(Flags.Flag DELETED)

注意:這個刪除操作是將郵件徹底刪除的,大家要謹慎使用,務必讀懂代碼再進行操作。不小心刪除了重要的郵件,小弟不負責人哦,(*^__^*) 嘻嘻……

這個只是一個很簡單的刪除郵件,在現實中我們會考慮到刪除郵件後會將郵件移動另外一個目錄下(如已刪除、垃圾箱),這些功能我會在後面會講!

給個例子大家參考:

import Java.io.BufferedReader;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.util.Properties;

import javax.mail.Flags;

import javax.mail.Folder;

import javax.mail.Message;

import javax.mail.Session;

import javax.mail.Store;

public class DelMail {

public static void main(String[] args) throws Exception {

Properties props = new Properties();

Session session = Session.getDefaultInstance(props);

//取得pop3協議的郵件服務器

Store store = session.getStore(“pop3”);

//連接pop.qq.com郵件服務器

store.connect(“pop.qq.com”, “343820302@qq.com”, “******”);

//返迴文件夾對象

Folder folder = store.getFolder(“INBOX”);

//設置讀寫

folder.open(Folder.READ_WRITE);

//獲取信息

Message message[] = folder.getMessages();

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

for(int i=0; imessage.length; i++) {

System.out.println(i + “: ” + message[i].getFrom()[0] + “\t” + message[i].getSubject());

System.out.println(“Do you want to delete message? [YES to delete]”);

String line = br.readLine();

if(line.equals(“YES”)) {

//設置刪除標記

message[i].setFlag(Flags.Flag.DELETED, true);

}

}

folder.close(true);

store.close();

}

}

程序最後folder.close(true)執行了才會生效!

java如何輸出正確的email

1、打開email,在主函數中書寫這條語句即可輸出,輸出的內容要用雙引號引起來。

2、接着運行java程序,然後就會直接在控制台打印我們的輸出的電子郵箱的登陸名,域名,主機名內容。

3、java獲取從鍵盤的內容則要導入一個類。

4、寫獲取輸入的代碼。

5、運行java程序,看到有提示輸入,使用鍵盤向控制台裏面輸入內容。即可。

java如何驗證一個email地址是否真實有效。

首先使用java提供的格式類判斷email是否格式有誤,然後使用開源框架,驗證郵箱是否有用,示例如下:

public static boolean checkEmail(String email) {

        if (!email.matches(“[\\w\\.\\-]+@([\\w\\-]+\\.)+[\\w\\-]+”)) {

            return false;

        }

 

        String host = “”;

        String hostName = email.split(“@”)[1];

        Record[] result = null;

        SMTPClient client = new SMTPClient();

 

        try {

            // 查找MX記錄

            Lookup lookup = new Lookup(hostName, Type.MX);

            lookup.run();

            if (lookup.getResult() != Lookup.SUCCESSFUL) {

                return false;

            } else {

                result = lookup.getAnswers();

            }

 

            // 連接到郵箱服務器

            for (int i = 0; i  result.length; i++) {

                host = result[i].getAdditionalName().toString();

                client.connect(host);

                if (!SMTPReply.isPositiveCompletion(client.getReplyCode())) {

                    client.disconnect();

                    continue;

                } else {

                    break;

                }

            }

 

            //以下2項自己填寫快速的,有效的郵箱

            client.login(“163.com”);

            client.setSender(“sxgkwei@163.com”);

            client.addRecipient(email);

            if (250 == client.getReplyCode()) {

                return true;

            }

        } catch (Exception e) {

            e.printStackTrace();

        } finally {

            try {

                client.disconnect();

            } catch (IOException e) {

            }

        }

        return false;

    }

 

需要的jar支持:commons-net-2.2.jar,dnsjava-2.1.1.jar

java類Email輸出電子郵箱的域名

二級域名。域名是由圓點分開一串單詞或縮寫組成的,每一個域名都對應一個唯一的IP地址,所以java類Email輸出電子郵箱的域名為二級域名。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/242292.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:48
下一篇 2024-12-12 12:48

相關推薦

  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智能,Python都扮演着重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28
  • 用Python實現簡單爬蟲程序

    在當今時代,互聯網上的信息量是爆炸式增長的,其中很多信息可以被利用。對於數據分析、數據挖掘或者其他一些需要大量數據的任務,我們可以使用爬蟲技術從各個網站獲取需要的信息。而Pytho…

    編程 2025-04-28
  • 如何製作一個簡單的換裝遊戲

    本文將從以下幾個方面,為大家介紹如何製作一個簡單的換裝遊戲: 1. 遊戲需求和界面設計 2. 使用HTML、CSS和JavaScript開發遊戲 3. 實現遊戲的基本功能:拖拽交互…

    編程 2025-04-27
  • Guava Limiter——限流器的簡單易用

    本文將從多個維度對Guava Limiter進行詳細闡述,介紹其定義、使用方法、工作原理和案例應用等方面,並給出完整的代碼示例,希望能夠幫助讀者更好地了解和使用該庫。 一、定義 G…

    編程 2025-04-27
  • 製作一個簡單的管理系統的成本及實現

    想要製作一個簡單的管理系統,需要進行技術選型、開發、測試等過程,那麼這個過程會花費多少錢呢?我們將從多個方面來闡述製作一個簡單的管理系統的成本及實現。 一、技術選型 當我們開始思考…

    編程 2025-04-27
  • 2的32次方-1:一個看似簡單卻又複雜的數字

    對於計算機領域的人來說,2的32次方-1(也就是十進制下的4294967295)這個數字並不陌生。它經常被用來表示IPv4地址或者無符號32位整數的最大值。但實際上,這個數字卻包含…

    編程 2025-04-27

發表回復

登錄後才能評論