导航:首页 > 配服务器 > 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服务器地址相关的资料

热点内容
程序员关注代码质量 浏览:537
vi编译器保存 浏览:455
便签里加密怎么录入指纹 浏览:19
我的世界租服务器是做什么用的 浏览:688
cmdmysql不是内部命令 浏览:299
两台服务器如何数据迁移 浏览:906
程序员的奋斗性 浏览:107
从windows传文件到linux 浏览:557
可以解压缩rar的软件 浏览:720
游戏app制作要从哪里学起 浏览:536
小区连未加密码wifi安全吗 浏览:653
格式化u盘的命令 浏览:612
神龙抄底123号指标源码公式 浏览:293
为什么软件服务器连接错误 浏览:281
上海有多少人从事算法岗 浏览:3
函数源码的详解 浏览:882
怎么双linux 浏览:985
phpmongodb下载地址 浏览:48
android闹钟列表 浏览:754
android收音机开发 浏览:609