文档章节

javaMail发邮件 简单小例子 解决QQ邮箱530 SSL问题

大喵哥
 大喵哥
发布于 2012/12/05 22:01
字数 255
阅读 791
收藏 0
package com;
import java.io.UnsupportedEncodingException;
import java.security.GeneralSecurityException;
import java.util.Properties;


import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;


import com.sun.mail.smtp.SMTPMessage;
import com.sun.mail.util.MailSSLSocketFactory;
class SimpleAuthenticator extends Authenticator{
 private String userName;
 private String password;
 public SimpleAuthenticator(String userName, String password) {
 super();
 this.userName = userName;
 this.password = password;
 }
 public PasswordAuthentication getPasswordAuthentication() {      
         return new PasswordAuthentication(this.userName, this.password);  
   
     }  
}
public class MailTest {
 public static void sendMail() throws UnsupportedEncodingException, GeneralSecurityException{
 String userName = "xxxx@qq.com";
 String password="xxxx";
 String subject = "发邮件进行测1111111试"; // 邮件标题
     String body = "怎么样 可以112222222了没!"; // 邮件内容
     Properties props=System.getProperties();
     MailSSLSocketFactory sf = new MailSSLSocketFactory();  
     sf.setTrustAllHosts(true);  
     props.put("mail.smtp.host", "smtp.qq.com");
     props.put("mail.smtp.auth","true");
     props.put("mail.smtp.socketFactory.port", 465);
     props.put("mail.smtp.starttls.enable","true");
     props.put("mail.smtp.ssl.socketFactory", sf); 
     props.put("mail.smtp.starttls.enable", "true");
     props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
     // props.setProperty("mail.smtp.port", "465");
    // Session session=Session.getDefaultInstance(props);
     Session session = Session.getDefaultInstance(props,new SimpleAuthenticator(userName, password)	);
     session.setDebug(true);
     SMTPMessage message=new SMTPMessage(session);
     try {
    	message.setRecipient(Message.RecipientType.TO,new InternetAddress("mmmm@163.com"));//收件人
    	message.setSubject(subject);
 message.setText(body);
 String nickName="王大锤";
 nickName=javax.mail.internet.MimeUtility.encodeText(nickName); 
 message.setFrom(new InternetAddress(nickName+" <xxxx@qq.com>"));//设置发件人 发件人必须要和Authenticator验证的帐号一致
 Transport transport = session.getTransport("smtp");
 transport.connect(userName, password);
 transport.send(message);
 transport.close();
 } catch (MessagingException e) {
 e.printStackTrace();
 }
 }
 public static void main(String[] args)  {
 try {
 MailTest.sendMail();
 } catch (Exception e) {
 e.printStackTrace();
 }
 }
}

© 著作权归作者所有

共有 人打赏支持
大喵哥
粉丝 13
博文 33
码字总数 1912
作品 0
广州
程序员
私信 提问
Android 使用 JavaMail

今天学习了一下JavaMail,javamail发送邮件确实是一个比较麻烦的问题不用第三方邮件程序。为了以后使用方便,自己写了段代码. Javamail-Android配置步骤: 下载Android版本JavaMail包,addit...

Taki
2012/08/14
0
2
android 使用JavaMail

今天学习了一下JavaMail,javamail发送邮件确实是一个比较麻烦的问题不用第三方邮件程序。为了以后使用方便,自己写了段代码 Javamail-Android配置步骤: 下载Android版本JavaMail包,addit...

长平狐
2012/06/28
3.6K
2
javamail发送邮件的简单实例

今天学习了一下JavaMail,javamail发送邮件确实是一个比较麻烦的问题。为了以后使用方便,自己写了段代码,打成jar包,以方便以后使用。呵呵 以下三段代码是我的全部代码,朋友们如果想用,直...

Zero__One
2012/07/03
0
0
SpringBoot | 第二十六章:邮件发送

前言 讲解了日志相关的知识点后。今天来点相对简单的,一般上,我们在开发一些注册功能、发送验证码或者订单服务时,都会通过短信或者邮件的方式通知消费者,注册或者订单的相关信息。而且基...

oKong
08/29
0
0
通过JavaMail访问Hotmail邮箱

相信许多人都有MSN聊天工具的帐号,例如abc@hotmail.com ,这个账号其实也是一个邮件地址,可以进行正常的邮件收发功能,你可以通过网址 http://www.hotmail.com 来访问和操作这个邮箱进行邮...

红薯
2008/10/05
2.4K
7

没有更多内容

加载失败,请刷新页面

加载更多

使用正则表达式实现网页爬虫的思路详解

网页爬虫:就是一个程序用于在互联网中获取指定规则的数据。这篇文章主要介绍了使用正则表达式实现网页爬虫的思路详解,需要的朋友可以参考下 网页爬虫:就是一个程序用于在互联网中获取指定规...

前端小攻略
34分钟前
0
0
vue中锚点的三种方法

第一种: router.js中添加 mode: 'history', srcollBehavior(to,from,savedPosition){ if(to.hash){ return {selector:to.hash } } } 组件: <template><div><ul class="li......

peakedness丶
35分钟前
0
0
记一次面试最常见的10个Redis"刁难"问题

导读:在程序员面试过程中Redis相关的知识是常被问到的话题。作为一名在互联网技术行业打击过成百上千名的资深技术面试官,本文作者总结了面试过程中经常问到的问题。十分值得一读。 Redis在...

小刀爱编程
今天
20
0
TiDB Lab 诞生记 | TiDB Hackathon 优秀项目分享

本文由红凤凰粉凤凰粉红凤凰队的成员主笔,他们的项目 TiDB Lab 在本届 TiDB Hackathon 2018 中获得了二等奖。TiDB Lab 为 TiDB 培训体系增加了一个可以动态观测 TiDB / TiKV / PD 细节的动画...

TiDB
今天
5
0
当区块链遇到零知识证明

本文由云+社区发表 当区块链遇到零知识证明 什么是零知识证明 零知识证明的官方定义是能够在不向验证者任何有用的信息的情况下,使验证者相信某个论断是正确的。这个定义有点抽象,下面笔者举...

腾讯云加社区
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部