文档章节

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

大喵哥
 大喵哥
发布于 2012/12/05 22:01
字数 255
阅读 838
收藏 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
广州
程序员
私信 提问
加载中

评论(0)

javamail: UrlDataSource获取网络文件作为邮件的附件|javamail发送二进制流附件的问题

https://www.cnblogs.com/younldeace/p/5193103.html 最近做个邮件发送功能,要内嵌图片并有附件。 需求很奇怪,图片和附件文件是放在ftp服务器上的,查了下javamail的文档。 添加附件方法如...

osc_o9s0hujy
2019/05/08
3
0
【JavaMail】SpringBoot集成JavaMail

前言: 工作生活中,经常会用邮件告知收件人,例如我们经常碰到的注册验证邮件。早期大家都用JavaMail相关的API来写发送邮件,后来spring推出JavaMailSender简化了邮件发送过程(有兴趣的朋友...

osc_2frv0wjp
2019/06/13
14
0
SendMail发送回执及读取收件箱

一、SendMail发送有回执提示   1.邮件发送配置 Properties props = new Properties(); 2.邮件回执设置 // 要求阅读回执(收件人阅读邮件时会提示回复发件人,表明邮件已收到,并已阅读) 3.到服...

osc_96xykppu
2018/06/23
9
0
Java Web(十二) JavaMail发送邮件

发送邮件的原理 概叙  邮件服务器: 要在 Internet 上提供电子邮件功能,必须有专门的电子邮件服务器。例如现在 Internet 很多 提供邮件服务的厂商:sina、sohu、163 等等他们都有自己的邮件...

osc_nbbe2r2g
2018/10/13
2
0
Android 使用 JavaMail

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

Taki
2012/08/14
2.4K
2

没有更多内容

加载失败,请刷新页面

加载更多

Discourse 如何在首页中显示 Box 的子分类

如下图, 如何在 Discourse 中显示子分类。 discourse-sub-col-01 1207×872 147 KB 你可以在分类的设定中进行设置,这个设定需要在上级目录中设置。 discourse-sub-col-02 556×656 76.3 KB...

honeymoose
18分钟前
27
0
OSChina 周六乱弹 —— 妈妈快看,外面有只人类

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《1万年の时を越えて》- 上松範康 手机党少年们想听歌,请使劲儿戳(这里) @火眼...

小小编辑
25分钟前
27
0
git-Linux客户端使用

下载test代码 git pull https://gitee.com/yunmhs/test.git 上传test代码 git add . 将新更新的文件更新至本地git仓库( . 代表当前目录所有 ) git commit -m "Dockerfile Images update huan......

huanke
26分钟前
26
0
静态方法和类方法之间的区别 - Difference between staticmethod and classmethod

问题: 用@staticmethod装饰的函数和用@staticmethod装饰的函数有@staticmethod @classmethod ? 解决方案: 参考一: https://stackoom.com/question/ZP7/静态方法和类方法之间的区别 参考二...

javail
26分钟前
13
0
垃圾收集器与内存分配策略

对象已死? 垃圾标记算法 1.引用计数算法 C++智能指针、Python 2.可达性分析算法 JavaGC Roots的根对象作为起始节点,通过引用链到某个对象不可达时,证明此对象不可能再被使用。 强引用:...

LoSingSang
昨天
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部