導航:首頁 > 配伺服器 > javamail如何知道pop伺服器地址

javamail如何知道pop伺服器地址

發布時間:2025-07-14 00:29:45

java如何使用ssl連接qq郵箱

Gmail目前已經啟用了POP3和SMTP服務,與其他郵箱不同的是Gmail提供的POP3和SMTP是使用安全套接字層SSL的,因此常規的JavaMail程序是無法收發郵件的,下面是使用JavaMail如何收取Gmail郵件以及發送郵件的代碼:
1.[代碼]GmailFetch.java跳至[1][2][全屏預覽]
01packagelius.javamail.ssl;
02
03importjava.io.UnsupportedEncodingException;
04importjava.security.*;
05importjava.util.Properties;
06importjavax.mail.*;
07importjavax.mail.internet.InternetAddress;
08importjavax.mail.internet.MimeUtility;
09
10/**
11*用於收取Gmail郵件
12*@authorWinterLau
13*/
14publicclassGmailFetch{
15
16publicstaticvoidmain(Stringargv[])throwsException{
17
18Security.addProvider(newcom.sun.net.ssl.internal.ssl.Provider());
19finalStringSSL_FACTORY="javax.net.ssl.SSLSocketFactory";
20
21//GetaPropertiesobject
22Propertiesprops=System.getProperties();
23props.setProperty("mail.pop3.socketFactory.class",SSL_FACTORY);
24props.setProperty("mail.pop3.socketFactory.fallback","false");
25props.setProperty("mail.pop3.port","995");
26props.setProperty("mail.pop3.socketFactory.port","995");
27
28//以下步驟跟一般的JavaMail操作相同
29Sessionsession=Session.getDefaultInstance(props,null);
30
31//請將紅色部分對應替換成你的郵箱帳號和密碼
32URLNameurln=newURLName("pop3","pop.gmail.com",995,null,
33"[郵箱帳號]","[郵箱密碼]");
34Storestore=session.getStore(urln);
35Folderinbox=null;
36try{
37store.connect();
38inbox=store.getFolder("INBOX");
39inbox.open(Folder.READ_ONLY);
40FetchProfileprofile=newFetchProfile();
41profile.add(FetchProfile.Item.ENVELOPE);
42Message[]messages=inbox.getMessages();
43inbox.fetch(messages,profile);
44System.out.println("收件箱的郵件數:"+messages.length);
45for(inti=0;i<messages.length;i++){
46//郵件發送者
47Stringfrom=decodeText(messages[i].getFrom()[0].toString());
48InternetAddressia=newInternetAddress(from);
49System.out.println("FROM:"+ia.getPersonal()+'('+ia.getAddress()+')');
50//郵件標題
51System.out.println("TITLE:"+messages[i].getSubject());
52//郵件大小
53System.out.println("SIZE:"+messages[i].getSize());
54//郵件發送時間
55System.out.println("DATE:"+messages[i].getSentDate());
56}
57}finally{
58try{
59inbox.close(false);
60}catch(Exceptione){}
61try{
62store.close();
63}catch(Exceptione){}
64}
65}
66
(Stringtext)
{
69if(text==null)
70returnnull;
71if(text.startsWith("=?GB")||text.startsWith("=?gb"))
72text=MimeUtility.decodeText(text);
73else
74text=newString(text.getBytes("ISO8859_1"));
75returntext;
76}
77
78}
2.[代碼]GmailSender.java
01packagelius.javamail.ssl;
02
03importjava.security.Security;
04importjava.util.Date;
05importjava.util.Properties;
06
07importjavax.mail.Authenticator;
08importjavax.mail.Message;
09importjavax.mail.MessagingException;
10importjavax.mail.PasswordAuthentication;
11importjavax.mail.Session;
12importjavax.mail.Transport;
13importjavax.mail.internet.AddressException;
14importjavax.mail.internet.InternetAddress;
15importjavax.mail.internet.MimeMessage;
16
17/**
18*使用Gmail發送郵件
19*@authorWinterLau
20*/
21publicclassGmailSender{
22
23publicstaticvoidmain(String[]args)throwsAddressException,MessagingException{
24Security.addProvider(newcom.sun.net.ssl.internal.ssl.Provider());
25finalStringSSL_FACTORY="javax.net.ssl.SSLSocketFactory";
26//GetaPropertiesobject
27Propertiesprops=System.getProperties();
28props.setProperty("mail.smtp.host","smtp.gmail.com");
29props.setProperty("mail.smtp.socketFactory.class",SSL_FACTORY);
30props.setProperty("mail.smtp.socketFactory.fallback","false");
31props.setProperty("mail.smtp.port","465");
32props.setProperty("mail.smtp.socketFactory.port","465");
33props.put("mail.smtp.auth","true");
34finalStringusername="[郵箱帳號]";
35finalStringpassword="[郵箱密碼]";
36Sessionsession=Session.getDefaultInstance(props,newAuthenticator(){
(){
(username,password);
39}});
40
41//--Createanewmessage--
42Messagemsg=newMimeMessage(session);
43
44//--SettheFROMandTOfields--
45msg.setFrom(newInternetAddress(username+"@mo168.com"));
46msg.setRecipients(Message.RecipientType.TO,
47InternetAddress.parse("[收件人地址]",false));
48msg.setSubject("Hello");
49msg.setText("Howareyou");
50msg.setSentDate(newDate());
51Transport.send(msg);
52
53System.out.println("Messagesent.");
54}
55}

android怎樣不打開系統瀏覽器實現了發送郵件

  1. 下載javamail的java包,加入到你項目的庫中。

  2. 2.修改你的郵箱設置,這里以163郵箱為例。打開設置,開啟客戶端授權碼,記住這個授權碼,然後打開POP3/SMTP服務和IMAP/SMTP服務。

  3. 輸入相應的代碼(私我給你發)

  4. 在使用該庫前先簡單介紹一下 Email for Android 2.3.2 中四個核心的類和相關的方法。

  5. EmailConfig 類

  6. setAccount( ):設置發信人的郵箱(必寫)

  7. setPassword( ) :設置發信人的郵箱密碼或授權碼(必寫)

  8. setSmtpHost( ):設置SMTP伺服器地址(發送郵件時必寫)

  9. setSmtpPort( ):設置SMTP伺服器埠(發送郵件時必寫)

  10. setPopHost( ):設置POP伺服器地址(接收郵件時必寫)

  11. setPopPort( ):設置POP伺服器埠(接收郵件時必寫)

  12. setImapHost:設置IMAP伺服器地址(接收郵件時必寫)

  13. setImapPort:設置IMAP伺服器埠(接收郵件時必寫)

  14. EmailSendClient 類

  15. setTo( ):設置收信人郵箱(必寫)

  16. setCc( ):設置抄送人

  17. setBcc( ):設置密送人

  18. setNickname( ):設置發信人昵稱

  19. setSubject( ):設置郵件主題(必寫)

  20. setText( ):設置文本型的郵件內容(必寫,但 setText( ) 和 setContent( ) 只能二選一)

  21. setContent( ):設置HTML型的郵件內容(同上)

  22. sendAsyn( ):非同步發送郵件(必寫)

  23. EmailReceiveClient 類

  24. popReceiveAsyn( ):使用POP3協議非同步接收郵件

  25. imapReceiveAsyn( ):使用IMAP協議非同步接收郵件

  26. EmailExamine 類

  27. connectServer( ):檢查郵件伺服器配

閱讀全文

與javamail如何知道pop伺服器地址相關的資料

熱點內容
兩台伺服器如何數據遷移 瀏覽:906
程序員的奮斗性 瀏覽:107
從windows傳文件到linux 瀏覽:557
可以解壓縮rar的軟體 瀏覽:720
游戲app製作要從哪裡學起 瀏覽:536
小區連未加密碼wifi安全嗎 瀏覽:652
格式化u盤的命令 瀏覽:612
神龍抄底123號指標源碼公式 瀏覽:293
為什麼軟體伺服器連接錯誤 瀏覽:281
上海有多少人從事演算法崗 瀏覽:3
函數源碼的詳解 瀏覽:882
怎麼雙linux 瀏覽:985
phpmongodb下載地址 瀏覽:48
android鬧鍾列表 瀏覽:754
android收音機開發 瀏覽:609
中國移動app在哪裡找到補卡 瀏覽:721
cuda編程指南50 瀏覽:549
大圖app哪裡可以下載 瀏覽:314
漫漫長夜主要是靠睡過去緩解壓力 瀏覽:533
java實現動態代理 瀏覽:893