java如何使用ssl连接qq邮箱

Gmail目前已经启用了POP3和SMTP服务,与其他邮箱不同的是Gmail提供的POP3和SMTP是使用安全套接字层SSL的,因此常规的JavaMail程序是无法收发邮件的,下面是使用JavaMail如何收取Gmail邮件以及发送邮件的代码:1. [代码]GmailFetch.java 跳至 [1] [2] [全屏预览]01 package lius.javamail.ssl; 0...
java如何使用ssl连接qq邮箱
mail.store.protocol=imapsmail.imap.socketFactory.class=javax.net.ssl.SSLSocketFactorymail.imap.socketFactory.fallback=falsemail.imaps.host=imap.qq.commail.imaps.port=993mail.imap.auth.plain.disable=truemail.imap.auth.login.disable=truemail.smtp.auth=truemail.smtp.debug=truemail.smtp.host=smtp.qq.commail.smtp.port=465mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactorymail.smtp.socketFactory.fallback=falsemail.smtp.socketFactory.port=465mail.smtp.starttls.enable=truemail.smtp.user=ssssdafasdfad2014-01-11
Gmail目前已经启用了POP3和SMTP服务,与其他邮箱不同的是Gmail提供的POP3和SMTP是使用安全套接字层SSL的,因此常规的JavaMail程序是无法收发邮件的,下面是使用JavaMail如何收取Gmail邮件以及发送邮件的代码:1. [代码]GmailFetch.java 跳至 [1] [2] [全屏预览]01 package lius.javamail.ssl; 02 03 import java.io.UnsupportedEncodingException; 04 import java.security.*; 05 import java.util.Properties; 06 import javax.mail.*; 07 import javax.mail.internet.InternetAddress; 08 import javax.mail.internet.MimeUtility; 09 10 /** 11 * 用于收取Gmail邮件 12 * @author Winter Lau 13 */ 14 public class GmailFetch { 15 16 public static void main(String argv[]) throws Exception { 17 18 Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); 19 final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory"; 20 21 // Get a Properties object 22 Properties props = System.getProperties(); 23 props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY); 24 props.setProperty("mail.pop3.socketFactory.fallback", "false"); 25 props.setProperty("mail.pop3.port", "995"); 26 props.setProperty("mail.pop3.socketFactory.port", "995"); 27 28 //以下步骤跟一般的JavaMail操作相同 29 Session session = Session.getDefaultInstance(props,null); 30 31 //请将红色部分对应替换成你的邮箱帐号和密码 32 URLName urln = new URLName("pop3","pop.gmail.com",995,null, 33 "[邮箱帐号]", "[邮箱密码]"); 34 Store store = session.getStore(urln); 35 Folder inbox = null; 36 try { 37 store.connect(); 38 inbox = store.getFolder("INBOX"); 39 inbox.open(Folder.READ_ONLY); 40 FetchProfile profile = new FetchProfile(); 41 profile.add(FetchProfile.Item.ENVELOPE); 42 Message[] messages = inbox.getMessages(); 43 inbox.fetch(messages, profile); 44 System.out.println("收件箱的邮件数:" + messages.length); 45 for (int i = 0; i < messages.length; i++) { 46 //邮件发送者 47 String from = decodeText(messages[i].getFrom()[0].toString()); 48 InternetAddress ia = new InternetAddress(from); 49 System.out.println("FROM:" + ia.getPersonal()+'('+ia.getAddress()+')'); 50 //邮件标题 51 System.out.println("TITLE:" + messages[i].getSubject()); 52 //邮件大小 53 System.out.println("SIZE:" + messages[i].getSize()); 54 //邮件发送时间 55 System.out.println("DATE:" + messages[i].getSentDate()); 56 } 57 } finally { 58 try { 59 inbox.close(false); 60 } catch (Exception e) {} 61 try { 62 store.close(); 63 } catch (Exception e) {} 64 } 65 } 66 67 protected static String decodeText(String text) 68 throws UnsupportedEncodingException { 69 if (text == null) 70 return null; 71 if (text.startsWith("=?GB") || text.startsWith("=?gb")) 72 text = MimeUtility.decodeText(text); 73 else 74 text = new String(text.getBytes("ISO8859_1")); 75 return text; 76 } 77 78 } 2. [代码]GmailSender.java 01 package lius.javamail.ssl; 02 03 import java.security.Security; 04 import java.util.Date; 05 import java.util.Properties; 06 07 import javax.mail.Authenticator; 08 import javax.mail.Message; 09 import javax.mail.MessagingException; 10 import javax.mail.PasswordAuthentication; 11 import javax.mail.Session; 12 import javax.mail.Transport; 13 import javax.mail.internet.AddressException; 14 import javax.mail.internet.InternetAddress; 15 import javax.mail.internet.MimeMessage; 16 17 /** 18 * 使用Gmail发送邮件 19 * @author Winter Lau 20 */ 21 public class GmailSender { 22 23 public static void main(String[] args) throws AddressException, MessagingException { 24 Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); 25 final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory"; 26 // Get a Properties object 27 Properties props = System.getProperties(); 28 props.setProperty("mail.smtp.host", "smtp.gmail.com"); 29 props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY); 30 props.setProperty("mail.smtp.socketFactory.fallback", "false"); 31 props.setProperty("mail.smtp.port", "465"); 32 props.setProperty("mail.smtp.socketFactory.port", "465"); 33 props.put("mail.smtp.auth", "true"); 34 final String username = "[邮箱帐号]"; 35 final String password = "[邮箱密码]"; 36 Session session = Session.getDefaultInstance(props, new Authenticator(){ 37 protected PasswordAuthentication getPasswordAuthentication() { 38 return new PasswordAuthentication(username, password); 39 }}); 40 41 // -- Create a new message -- 42 Message msg = new MimeMessage(session); 43 44 // -- Set the FROM and TO fields -- 45 msg.setFrom(new InternetAddress(username + "@mo168.com")); 46 msg.setRecipients(Message.RecipientType.TO, 47 InternetAddress.parse("[收件人地址]",false)); 48 msg.setSubject("Hello"); 49 msg.setText("How are you"); 50 msg.setSentDate(new Date()); 51 Transport.send(msg); 52 53 System.out.println("Message sent."); 54 } 55 }2014-01-09
你想问的是smtp吧?2014-01-10
网上一搜就有啦2014-01-10
mengvlog 阅读 8 次 更新于 2025-07-19 07:42:45 我来答关注问题0
  • 19 final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory"; 20 21 // Get a Properties object 22 Properties props = System.getProperties()

  •  深空见闻 webqq使用https安全连接的方法

    在QQ提醒设置页面中,查找一个名为“使用HTTPS连接”或类似名称的选项。勾选这个选项,以确保你的WebQQ连接是通过HTTPS加密的。HTTPS(HyperText Transfer Protocol Secure)是一种安全的网络通信协议,它通过在普通的HTTP通信中加入SSL/TLS层来提供数据加密和完整性验证。保存设置:勾选完使用HTTPS连接的选项...

  •  誉祥祥知识 ssl ptlogin2 qq我的QQ打不开

    1. 检查网络连接: 确保你的设备已连接到互联网,并尝试刷新网络设置。2. 重启QQ软件: 关闭QQ后重新打开,有时候这样可以解决临时的小问题。3. 检查账号状态: 登录QQ官网查看账号状态,是否存在异常或冻结情况。4. 更新软件版本: 确保你的QQ客户端是最新版本,如有必要,请前往官网下载最新安装包进...

  •  武汉誉祥科技 一个企业邮箱如何绑定QQ号

    可以通过QQ邮箱和企业邮箱进行绑定。下面小编具体介绍一下怎么绑定。打开qq邮箱,登录进去 点击顶部,设置-其他邮箱-添加其他邮箱帐号 输入邮箱账号和密码 输入邮箱pop地址 阿里云企业邮箱POP3/SMTP协议 接收邮件服务器:pop3.mxhichina.com (端口 110),使用SSL,端口号995发送邮件服务器:smtp.mxhichina.com ...

  • anonymous QQ邮箱怎样开启SSL?

    QQ邮箱开启SSL的操作方法如下:1、打开QQ邮箱,找到设置按钮,点击进去。2、然后点击账户。3、往下滑动,找到这栏。4、找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务项目(1、POP3/SMTP服务;2、IMAP/SMTP服务;3、CardDAV/CalDAV服务后),后面点击开启。然后点击底部“保存更改”按钮就可以了。

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部