187邮箱登陆下载

Win10一周年更新正式版累积更新离线安装包下载_网易手机
Win10一周年更新正式版累积更新离线安装包下载
用微信扫码二维码
分享至好友和朋友圈
(原标题:Win10一周年更新正式版累积更新离线安装包下载)
IT之家讯&9月14日消息,微软今天推送了Win10一周年更新正式版累积更新,本次更新包编号为KB3189866,IT之家为大家带来离线安装包下载。
x86下载:请点此链接。(大小255MB)x64下载:请点此链接。(大小431MB)推荐阅读《Win10一周年更新正式版更新内容大全》
本文来源:IT之家
责任编辑:"王晓易_NE0011"
用微信扫码二维码
分享至好友和朋友圈
加载更多新闻
热门产品:   
:        
:         
热门影院:
阅读下一篇
用微信扫描二维码
分享至好友和朋友圈本节摘要:本节主要简单介绍一下javamail插件的使用
引入:最近项目中要做一个简单的邮件功能,即从前台输入邮件内容,去配置文件中读取发件人、收件人等信息后,然后发送邮件到指定的邮箱,其中收件人和抄送人可以有多个,基于这个需求,查询了相关资料,决定采用javamail这个插件来实现。
preparation:
1.JavaMail的介绍
&&&& JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。
 & 虽然JavaMail是Sun的API之一,但它目前还没有被加在标准的java开发工具包中(Java Development Kit),这就意味着你在使用前必须另外下载JavaMail文件。除此以外,你还需要有Sun的JavaBeans Activation Framework (JAF)。JavaBeans Activation Framework的运行很复杂,在这里简单的说就是JavaMail的运行必须得依赖于它的支持。在Windows 2000下使用需要指定这些文件的路径,在其它的操作系统上也类似。
&  JavaMail是可选包,因此如果需要使用的话你需要首先从下载。目前最新版本是JavaMail1.4,使用JavaMail的时候需要Javabean Activation Framework的支持,因此你也需要下载JAF。安装JavaMail只是需要把他们加入到CLASSPATH中去,如果你不想修改CLASSPATH的话,可以直接把他们的jar包直接copy到JAVA_HOME/lib/ext下。这样JavaMail就安装好了。
  JavaMail包中用于处理电子邮件的核心类是:Session,Message,Address,Authenticator,Transport,Store,Folder等。Session定义了一个基本的邮件会话,它需要从Properties中读取类似于邮件服务器,用户名和密码等信息
2.下载jar包
网上有下载链接,但是这里我还是把jar包给上传
dom4j.jar 这个jar就不提供下载资源了
3.项目环境
system:win7& myeclipse:6.5& tomcat:5.0 JDK:编译和运行都是1.4
为了方便,还是在之前的UpDown项目下运行的,本次用到的文件只有sendmail包下的文件。
4.class&method
导入javamail、JAF、dom4j的jar包,然后新建对应的文件如下:
Encrypt.jar& 主要是用于对密码进行加密和解密
Encrypt.java
1 package 2
Encrypt.java
* Description: 对密码进行加密和解密 6
* Company:
Mar 6, 2012 9
*/10 public class Encrypt11 {12 13
public static final int pass1 = 10;14
public static final int pass2 = 1;15 16
public Encrypt()17
* @Title: DoEncrypt 22
* @Description: 对密码进行加密的方法23
* @param @param str24
* @param @return
设定文件 25
* @return String
返回类型 26
* @throws27 */28
public static String DoEncrypt(String str)29
StringBuffer enStrBuff = new StringBuffer();31
for (int i = 0; i & str.length(); i++)32
int tmpch = str.charAt(i);34
tmpch ^= 1;35
tmpch ^= 036
enStrBuff.append(Integer.toHexString(tmpch));37
return enStrBuff.toString().toUpperCase();40
* @Title: DoDecrypt 44
* @Description: 对密码进行解密的方法45
* @param @param str46
* @param @return
设定文件 47
* @return String
返回类型 48
* @throws49 */50
public static String DoDecrypt(String str)51
String deStr = str.toLowerCase();53
StringBuffer deStrBuff = new StringBuffer();54
for (int i = 0; i & deStr.length(); i += 2)55
String subStr = deStr.substring(i, i + 2);57
int tmpch = Integer.parseInt(subStr, 16);58
tmpch ^= 1;59
tmpch ^= 060
deStrBuff.append((char)tmpch);61
return deStrBuff.toString();64
public static void main(String args[])67
String source = "123456";69
String s = DoEncrypt(source);70
System.out.println("de=" + s);71
source = DoDecrypt(s);73
System.out.println("en=" + source);74 75
MailInfo.java javabean定义邮件需要的字段以及对应的get和set方法
MailInfo.java
1 package 2
MailInfo.java 5
*Description:
定义发送邮件的所有字段的javabean 6
Mar 1, 2012 9
*/10 public class MailInfo{11
private S// 邮件服务器域名或IP12
private S// 发件人13
private S// 收件人14
private S// 抄送人15
private S// 发件人用户名16
private S// 发件人密码17
private S// 邮件的主题18
private S// 邮件的内容19
public String getHost() {21
public void setHost(String host) {24
this.host =25
public String getFrom() {27
public void setFrom(String from) {30
this.from =31
public String getTo() {33
public void setTo(String to) {36
this.to =37
public String getCc() {39
public void setCc(String cc) {42
this.cc =43
public String getUsername() {45
public void setUsername(String username) {48
this.username =49
public String getPassword() {51
public void setPassword(String password) {54
this.password =55
public String getTitle() {57
public void setTitle(String title) {60
this.title =61
public String getContent() {63
public void setContent(String content) {66
this.content =67
MyAuthenticator.java 用于对邮件授权
MyAuthenticator.java
1 package 2
MailInfo.java 5
*Description:
邮件授权类 6
Mar 6, 2012 9
*/10 import javax.mail.PasswordA11 12 public class MyAuthenticator extends javax.mail.Authenticator {13
private String strU14
private String strP15 16
public MyAuthenticator(String user, String password) {17
this.strUser =18
this.strPwd =19
protected PasswordAuthentication getPasswordAuthentication() {22
return new PasswordAuthentication(strUser, strPwd);23
SendMail.java 发送邮件的封装类
&先读取xml配置文件,然后解析xml文件,最后取得配置文件的值封装完成后发邮件
SendMail.java
3 import java.io.BufferedR
4 import java.io.F
5 import java.io.FileInputS
6 import java.io.FileNotFoundE
7 import java.io.IOE
8 import java.io.InputStreamR
9 import java.io.UnsupportedEncodingE 10 import java.util.P 11 import javax.mail.M 12 import javax.mail.MessagingE 13 import javax.mail.S
14 import javax.mail.T 15 import javax.mail.internet.AddressE 16 import javax.mail.internet.InternetA 17 import javax.mail.internet.MimeM 18 import mons.logging.L 19 import mons.logging.LogF 20 import org.dom4j.D 21 import org.dom4j.DocumentE 22 import org.dom4j.DocumentH 23 import org.dom4j.E 24
SendMail.java
* Description: 发送邮件 28
* Company:
Mar 1, 2012 31
33 public class SendMail { 34
private static final Log log = LogFactory.getLog(SendMail.class); 36
// 配置文件xml的路径 38
private final static String XML_PATH = "src" + File.separator + "sendmail" 39
+ File.separator + "SendMail.xml"; 40
//xml文件中字段对应的javabean对象 42
private static MailInfo mailInfo = new MailInfo(); 43
* &p&Title: readXML&/p&
* &p&Description:读取xml文件,把文件内容以字符串形式输出&/p&
* @param xmlPath 配置文件的路径 48
* @throws Exception
private String readXML(String xmlPath) throws Exception { 52
log.debug("xmlPath="+xmlPath); 53
String fileContent = ""; 55
File file = new File(xmlPath); 56
if (file.isFile() && file.exists()) { 57
InputStreamReader read = new InputStreamReader( 59
new FileInputStream(file), "UTF-8"); 60
BufferedReader reader = new BufferedReader(read); 61
while ((line = reader.readLine()) != null) { 64
fileContent += 65
reader.close(); 67
read.close(); 68
} catch (IOException e) { 69
e.printStackTrace(); 70
} catch (UnsupportedEncodingException e) { 72
e.printStackTrace(); 73
} catch (FileNotFoundException e) { 74
e.printStackTrace(); 75
throw new Exception("config目录下的配置文件SendMail.xml不存在,请检查"); 78
log.debug("xml="+fileContent); 80
return fileC 81
* &p&Title: parseXML&/p&
* &p&Description:发送邮件给指定的收件人和抄送人,同时进行一些简单的校验判断,如必填项的字段、type的值&/p&
* @param xml 配置文件的内容 87
* @param type
邮件类型 88 */ 89
private void parseXML(String xml, String type) { 90
type=type.toLowerCase();//忽略type字段的大小写 91
// 解析XML,获得doc对象 93
Document doc = DocumentHelper.parseText(xml); 94
// 判断type的值是否正确,type的值应是报文二级节点中的一个 96
String flag = doc.getRootElement().element(type) + ""; 97
if (null == flag || flag.equals("null")) 98
throw new DocumentException( 99
"传入的type值不对,type的值应是SendMail.xml报文中二级节点的一个,请查看文件然后重新传入type的值");100 101
// 设置主机名称102
Element hostEle = (Element) doc.selectSingleNode("/mail/" + type103
+ "/host");104
if (null == hostEle || "".equals(hostEle.getTextTrim())) {105
throw new DocumentException("邮件服务器域名或IP不能为空,请检查配置文件SendMail.xml");106
mailInfo.setHost(hostEle == null ? "" : hostEle.getTextTrim());108 109
// 设置发件人110
Element fromEle = (Element) doc.selectSingleNode("/mail/" + type111
+ "/from");112
if (null == fromEle || "".equals(fromEle.getTextTrim())) {113
throw new DocumentException("发件人地址不能为空,请检查配置文件SendMail.xml");114
mailInfo.setFrom(fromEle == null ? "" : fromEle.getTextTrim());116 117
// 设置邮件主题118
Element titleEle = (Element) doc.selectSingleNode("/mail/" + type119
+ "/title");120
mailInfo.setTitle(titleEle == null ? "" : titleEle.getTextTrim());121 122
// 设置收件人,对多个收件人的处理放在后面123
Element toEle = (Element) doc.selectSingleNode("/mail/" + type124
+ "/to");125
if (null == toEle || "".equals(toEle.getTextTrim())) {126
throw new DocumentException("收件人地址不能为空,请检查配置文件SendMail.xml");127
mailInfo.setTo(toEle == null ? "" : toEle.getTextTrim());129 130
// 设置抄送,对多个抄送人的处理放在后面131
Element ccEle = (Element) doc.selectSingleNode("/mail/" + type132
+ "/cc");133
mailInfo.setCc(ccEle == null ? "" : ccEle.getTextTrim());134
//设置发件人用户名136
Element nameEle = (Element) doc.selectSingleNode("/mail/" + type137
+ "/username");138
if(null==nameEle||"".equals(nameEle.getTextTrim())){139
throw new DocumentException("发件人用户名不能为空,请检查配置文件SendMail.xml");140
mailInfo.setUsername(nameEle == null ? "" : nameEle.getTextTrim());142
//设置发件人密码144
Element passEle = (Element) doc.selectSingleNode("/mail/" + type145
+ "/password");146
if(null==passEle||"".equals(passEle.getTextTrim())){147
throw new DocumentException("发件人密码不能为空,请检查配置文件SendMail.xml");148
mailInfo.setPassword(passEle == null ? "" : passEle.getTextTrim());150 151
} catch (DocumentException e) {152
e.printStackTrace();153
* &p&Title: sendMailOfValidate&/p&158
* &p&Description:发送邮件的方法,Authenticator类验证&/p&159 */160
private void sendMailOfValidate() {161
Properties props = System.getProperties();162
props.put("mail.smtp.host", mailInfo.getHost());//设置邮件服务器的域名或IP163
props.put("mail.smtp.auth", "true");//授权邮件,mail.smtp.auth必须设置为true164
String password=mailInfo.getPassword();//密码166
password=Encrypt.DoDecrypt(password);//如果密码经过加密用此方法对密码进行解密168
} catch (NumberFormatException e1) {169
//如果密码未经过加密,则对密码不做任何处理170
//传入发件人的用户名和密码,构造MyAuthenticator对象172
MyAuthenticator myauth = new MyAuthenticator(mailInfo.getUsername(),password);173
//传入props、myauth对象,构造邮件授权的session对象175
Session session = Session.getDefaultInstance(props, myauth);176 177
//将Session对象作为MimeMessage构造方法的参数传入构造message对象178
MimeMessage message = new MimeMessage(session);179
message.setFrom(new InternetAddress(mailInfo.getFrom()));//发件人181 182 // 对多个收件人的情况进行处理,配置文件SendMail.xml中每个收件人之间必须用逗号隔开的183
if (mailInfo.getTo() != null && !"".equals(mailInfo.getTo())) {184
String to[] = mailInfo.getTo().split(",");185
for (int i = 0; i & to. i++) {186
message.addRecipient(Message.RecipientType.TO,187
new InternetAddress(to[i]));// 收件人188
// 对多个抄送人的情况进行处理,每个抄送人之间用逗号隔开的192
if (mailInfo.getCc() != null && !"".equals(mailInfo.getCc())) {193
String cc[] = mailInfo.getCc().split(",");194
for (int j = 0; j & cc. j++) {195
message.addRecipient(Message.RecipientType.CC,196
new InternetAddress(cc[j]));// 抄送197
message.setSubject(mailInfo.getTitle());// 主题200
message.setText(mailInfo.getContent());// 内容202 203
Transport.send(message);// 调用发送邮件的方法204
log.debug("邮件发送成功");206
} catch (AddressException e) {207
e.printStackTrace();208
} catch (MessagingException e) {209
e.printStackTrace();210
* &p&Title: sendMail&/p& 215
* &p&Description:外部程序调用的入口&/p& 216
* @param type 邮件的类型,目前有三种,即logmessage、checkmessage、ordermessage,type只能传这三个值中一个,传其他的任何值都不行217
* @param content 邮件的内容218
* @throws Exception 219 */220
public void sendMail(String type,String content) throws Exception{221
log.debug("入参type="+type);222
log.debug("入参content="+content);223
if (null == type || "".equals(type) || null == content224
|| "".equals(content)) {225
throw new Exception("方法的入参type和content字段的值都不能为空或null");226
String xml=readXML(XML_PATH);//获得xml字符串229
parseXML(xml,type);//解析xml字符串,把对应字段的值放入到mailInfo对象中231
mailInfo.setContent(content);//设置发送的内容233
sendMailOfValidate();//发送邮件235
* 为了方便直接用main方法测试240
* @param args241
* @throws Exception242 */243
public static void main(String args[]) throws Exception {244 245
SendMail mail = new SendMail();246
// type类型,根据此字段去配置文件SendMail.xml中匹配,然后发到相应的邮箱248
String type = "logmessage";249
// 邮件的内容,实际开发中这个内容是前台传到后台251
String content = "你好,欢饮使用JavaMail包开发邮件功能";252
// 在其他类中调用时只能看到sendMail方法,为了保护内部细节,其它的方法都声明为私有的254
mail.sendMail(type, content);255
//这个项目中没有日志文件,所以我打印一句话来告诉自己程序已经成功运行256
System.out.println("****success****");257 258
说明:代码中的校验可能不太严谨和全面,因为这个配置文件是由开发人员自己配置,并且对配置文件也有详细的介绍,所以代码中就省略去了许多的校验。
SendMail.xml 邮件配置文件
SendMail.xml
1 &?xml version="1.0" encoding="UTF-8"?&&!-- 此处编码格式必须用UTF-8格式,这样和程序中的解码是统一的,不会出现乱码 --& 2 &mail& 3
&logmessage&&!--报文的二级节点,为了使传入的type值对大小写不限制,故此处必须用小写 --& 4
&host&&/host&&!-- 邮件服务器域名或IP,必填项 --& 5
&from&&/from&&!-- 发件人 ,必填项 --& 6
&to&,&/to&&!-- 收件人,多个收件人之间用英文状态下的逗号隔开,必填项 --& 7
&cc&&/cc&&!-- 抄送,多个抄送人之间用英文状态下的逗号隔开--& 8
&title&test JavaMail&/title&&!-- 邮件主题--& 9
&username&&/username&&!-- 发件人邮箱的用户名,即email的全地址,必填项 --&10
&password&123456&/password&&!-- 发件人邮箱的密码,像QQ邮箱如果设置了独立密码应输入独立密码,必填项,为了安全起见填写密码之前最好用Encrypt类的DoEncrypt方法加密 --&11
&/logmessage&12 13
&checkmessage&14
&host&&/host&15
&from&&/from&16
&to&&/to&17
&cc&&/cc&18
&title&&/title&19
&username&&/username&20
&password&&/password&21
&/checkmessage&22 23
&ordermessage&24
&host&&/host&25
&from&&/from&26
&to&&/to&27
&cc&&/cc&28
&title&&/title&29
&username&&/username&30
&password&&/password&31
&/ordermessage&32 &/mail&
注意:密码是必填项,由于是介绍,我把自己的密码给删掉换成了123456,实际中需根据需要配置邮件服务器域名、发件人、收件人、抄送人、用户名和密码。
运行方式:执行运行SendMail.java类中的main方式就可以测试了,测试之前请按说明配置xml文件。
首次运行你可能会遇到以下的错误,所以note.txt文件就用来提供遇到的错误以及对应的解决方案
java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream&at javax.mail.Session.loadProvidersFromStream(Session.java:928)&at javax.mail.Session.access$000(Session.java:174)&at javax.mail.Session$1.load(Session.java:870)&at javax.mail.Session.loadResource(Session.java:1084)&at javax.mail.Session.loadProviders(Session.java:889)&at javax.mail.Session.&init&(Session.java:210)&at javax.mail.Session.getDefaultInstance(Session.java:299)&at mail.SendMail.sendMail(SendMail.java:31)&at mail.SendMail.main(SendMail.java:50)Exception in thread "main" 解决方案:在myeclipse的安装目录下搜索javaee.jar,然后用压缩软件打开,删除javax下的mail文件夹
java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport&at javax.activation.MailcapCommandMap.&init&(MailcapCommandMap.java:140)&at mandMap.getDefaultCommandMap(CommandMap.java:61)&at javax.activation.DataHandler.getCommandMap(DataHandler.java:153)&at javax.activation.DataHandler.getDataContentHandler(DataHandler.java:611)&at javax.activation.DataHandler.writeTo(DataHandler.java:315)&at javax.mail.internet.MimeUtility.getEncoding(MimeUtility.java:264)&at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1299)&at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2071)&at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:2039)&at javax.mail.Transport.send(Transport.java:119)&at mail.SendMail.sendMailNoValidate(SendMail.java:48)&at mail.SendMail.main(SendMail.java:96)Exception in thread "main" 解决方案:在myeclipse的安装目录下搜索javaee.jar,然后用压缩软件打开,删除javax文件夹下的activation文件夹
javax.mail.SendFailedException: S& nested exception is: &javax.mail.MessagingException: 503 Error: need EHLO and AUTH first !
&at javax.mail.Transport.send0(Transport.java:219)&at javax.mail.Transport.send(Transport.java:81)&at com.asiainfo.bboss.sendmail.SendMailServiceImpl.sendMailNoValidate(SendMailServiceImpl.java:210)&at com.asiainfo.bboss.sendmail.SendMailServiceImpl.sendMail(SendMailServiceImpl.java:243)&at com.asiainfo.bboss.sendmail.SendMailServiceImpl.main(SendMailServiceImpl.java:261)解决方案:props.put("mail.smtp.auth", "true");&javax.mail.SendFailedException: S& nested exception is: &javax.mail.AuthenticationFailedException&at javax.mail.Transport.send0(Transport.java:219)&at javax.mail.Transport.send(Transport.java:81)&at com.asiainfo.bboss.sendmail.SendMailServiceImpl.sendMailNoValidate(SendMailServiceImpl.java:211)&at com.asiainfo.bboss.sendmail.SendMailServiceImpl.sendMail(SendMailServiceImpl.java:244)&at com.asiainfo.bboss.sendmail.SendMailServiceImpl.main(SendMailServiceImpl.java:262)解决方案:&MyAuthenticator myauth = new MyAuthenticator(mailInfo.getUsername(),password);&
运行截图如下:
图1:myeclipse后台打印的结果 此项目下没有log4j.properties文件,故会有红色的信息,代码中的log也没有打印出来
图2:去我的QQ邮箱收信---收件箱列表
图3:去我的QQ邮箱收信---邮件内容
图4:去我的163邮箱收信---收件箱列表
确认已经收到邮件,因为163邮件显示的是本人的真实姓名,这里就不截图了。
图5:去我的163邮箱收信---邮件内容
确认已经收到邮件,因为163邮件显示的是本人的真实姓名,这里就不截图了。
以上只是对javamail插件一个小小的应用,此插件也可以做收信、转发、答复、上传附件等功能,
希望更多的朋友可以接触到javamail插件,权当做一次宣传了。
阅读(...) 评论()感谢您对问说网的支持,提出您在使用过程中遇到的问题或宝贵建议,您的反馈对我们产品的完善有很大帮助。
您的反馈我们已收到!
感谢您提供的宝贵意见,我们会在1-2个工作日,通过您留下的联系方式将处理结果反馈给您!QQ邮箱移动客户端,新邮件实时提醒,全面支持通用协议,轻松管理你的工作和私人邮箱。支持iOS,Android,Pad三大平台,同时提供文件中转站、日历、记事 ...app.mail.qq.com ·
· 您可以使用支持POP3的客户端软件(例如Foxmail或Outlook)收发您的邮件。请配置您的电子邮件客户端,以下载QQ邮箱邮件。了解如何进行配置,请单击您的电子邮件客户 ...service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=371
您可以使用支持POP3/IMAP的客户端软件(例如Foxmail,Outlook以及其他PC或手机上的邮件客户端)收发您的邮件。请准确配置您的电子邮件客户端,以在客户端上使用腾讯 ...service.exmail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=...Foxmail邮件客户端,简捷易用的邮件管理专家。更高效,更专业,处理邮件更轻松! ... 新增:附件预览 新增:高级搜索与搜索范围切换 新增:往来邮件与往来 ...www.foxmail.com下面向大家介绍如何iPhone/iPod touch上的邮件客户端收取企业邮箱的邮件,这里以iPod touch为例: 首先进入“Mail”,点击“其他”,新建一个邮件帐户,输入您邮箱的完整 ...service.exmail.qq.com/cgi-bin/help?subtype=1&&id=28&&no…乐收推广提供思威电邮海外邮件中继转发服务-swemail的outlook客户端发布出去邮件怎么办?相关信息,了解更多关于思威电邮海外邮件中继转发服务-swemail的 .../s/983568.html邮件产品及服务 我们为客户提供最安全、稳定、高效的邮件产品及服务 邮件系统 自建系统,数据自主管理,无缝协同其他办公系统 安全:360度全程保护邮件系统的信息安全www.coremail.cnOutlook 2013如何不在服务器端保存邮件,而是像之前的客户端一样直接将邮件存入本地PST文件?最近遇到这样一个问题,客户准备购买一些office2013,正在做测试 .../2014/06/save-mail-locally-in-outlook...避免了昂贵且复杂的基础架构扩建 按需使用服务,按使用量付费 享受市场领导者提供的一流客户支持/zh/cn/products-solutions/solutions/...大家好,我是 Jesse Esquivel。本文主要介绍利用 Server 2012 R2 Web Application Proxy (WAP)发布 Exchange 2010。在开始之前,先来谈谈反向代理功能,以及微软是 .../b/chinatechnet/archive//...最近几天联系遇到3个客户的邮件系统Exchange、Domino、U-mail他们都不约而同的提出了一个严重问题,就是邮件的外发都使用了我们的邮件中继转发服务,但是 .../s/983606.html查找顶尖端点安全解决方案,利用 Symantec Endpoint Protection 为您的 PC、Mac 和虚拟机提供病毒防护及更多功能。 ... Symantec Endpoint Protection 不仅仅能防病毒 .../zh/cn/products-solutions/families/?fid=...IBM SmartCloud Notes client requirements ... If you purchase an IBM SmartCloud® Notes® for Hosted BlackBerry® Services subscription, users can access the .../support/docview.wss?uid=swgGitHub上史上最全的Android开源项目分类汇总,, IT社区推荐资讯 ... GitHub已将 Janky开源,这是他们构建在 Jenkins之上的持续集成服务器,并在其中增加了聊天 ...itindex.net/detail/51896-github-android-开源The latest news, reviews and how-tos on servers, virtualization, operating systems, software, hardware, data center management and more.&|&Microsoft Silverlight library, learning resources, downloads, support, and community. Evaluate and find out how to install and use Silverlight./en-us/silverlight/bb187358.aspxStep 1. Download protein folding simulation software called Folding@home. Step 2. Run the installation. The software will automatically start up and ...https://folding.stanford.edu/home相关搜索

我要回帖

更多关于 187邮箱登陆 的文章

 

随机推荐