❶ 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}
❷ androidkillsamli2_class未找到apk源码
bbsmax
androidkiller未找到对应的apk源码
解决AndroidKiller APK 反编译失败,无法继续下一步源码反编译!
查看安卓APK源码破解
如何查看华为EMUI系统APK源码?
Mybatis Mapper接口是如何找到实现类的-源码分析
Android动态方式破解apk前奏篇(Eclipse动态调试smail源码)
android.mk android源码编译
Android事件传递机制详解及最新源码分析——Activity篇
Django-restframework 之认证源码分析
Mybatis 源码学习系列
基于JDK1.8,Java容器源码分析
vue2源码分析:patch函数
Jdk源码-集合类主要原理和解析
Struts2 源码分析——Hello world
【原创】express3.4.8源码解析之中间件
【分享】Maven插件的源码下载(SVN)
10个经典的Android开源项目(附源码包)
json.net 比jsonIgnore 更好的方法 修改源码
编译 wl18xx驱动源码
微信小程序源码推荐
WPF 依赖属性源码 洞察微软如何实现DependencyProperty
Cytoscape源码下载地址和编译办法
热门专题
ABAP的CASE WHENSPRINGBOOT 接收参数实体属性名映射别名REDISTEMPLATE 死循环ROBOTFRAMWORK RIDE开发版本2.0BUNITY 设置LAYERMASKUNIAPP启动获取配置EXCEL表格之间去除关联开源SSL证书生成 WEB工具KICAD隐藏敷铜重新布线TARJAN求强连通分量WORD英文状态下加NON-BREAKING SPACECAP 怎么设置RABBITMQ订阅者名字自行定义泛化名字进行替换原文WAN口之间的底层通信原理AKKA2.1.0官方ISUPEROBJECT转化为字符串C# STRING转DOUBLE保留STRING小数点后的0MAC NTFS 插件BITBUCKET备份恢复MATLABGUI鼠标响应事件
Home
Powered By WordPress