本文目錄一覽:
- 1、java email怎麼獲取收件箱已發送已刪除中的郵件 csdn
- 2、java如何輸出正確的email
- 3、java如何驗證一個email地址是否真實有效。
- 4、java類Email輸出電子郵箱的域名
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