package com.test.mail;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage; public class Sendmail { /**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
try {
Properties prop = new Properties();
prop.setProperty("mail.host", "mail.creditharmony.cn");
prop.setProperty("mail.transport.protocol", "smtp");
prop.setProperty("mail.smtp.auth", "true");
prop.setProperty("mail.smtp.starttls.enable", "true");
//使用JavaMail发送邮件的5个步骤
/**
* 方式一:
*/
/*
//1、创建session
Session session = Session.getDefaultInstance(prop, null);
//开启Session的debug模式,这样就可以查看到程序发送Email的运行状态
session.setDebug(true);
//2、通过session得到transport对象
Transport ts = session.getTransport();
//3、使用邮箱的用户名和密码连上邮件服务器,发送邮件时,发件人需要提交邮箱的用户名和密码给smtp服务器,用户名和密码都通过验证之后才能够正常发送邮件给收件人。
ts.connect("mail.creditharmony.cn", "PMS", "密码"); //4、创建邮件
Message message = createSimpleMail(session);
//5、发送邮件
ts.sendMessage(message, message.getAllRecipients());
ts.close();
*/ /**
* 方式二:
*/ //创建session,并进行账号身份验证 ,SimpleAuthenticator身份验证的工具类;注:SimpleAuthenticator实例化时user不带后缀,即PMS,而非PMS@creditharmony.cn
Session session = Session.getInstance(prop, new SimpleAuthenticator("PMS", "密码"));
// Session session = Session.getInstance(prop, new Authenticator(){
// protected PasswordAuthentication getPasswordAuthentication() {
// return new PasswordAuthentication("PMS", "密码");
// }}); //开启Session的debug模式,这样就可以查看到程序发送Email的运行状态
session.setDebug(true);
//4、创建邮件
Message message = createSimpleMail(session);
Transport.send(message); } catch (Exception e) {
e.printStackTrace();
}
} public static MimeMessage createSimpleMail(Session session)throws Exception {
//创建邮件对象
MimeMessage message = new MimeMessage(session);
//指明邮件的发件人,发件人即是PMS@creditharmony.cn
message.setFrom(new InternetAddress("PMS@creditharmony.cn"));
//指明邮件的收件人
message.setRecipient(Message.RecipientType.TO, new InternetAddress("yanhuiqu@creditharmony.cn"));
//发给多个人
// message.setRecipients(Message.RecipientType.TO, new InternetAddress[]{new InternetAddress("yanhuiqu@creditharmony.cn"),new InternetAddress("fanleisun@creditharmony.cn")});
//抄送
// message.setRecipient(Message.RecipientType.CC, new InternetAddress("yanhuiqu@creditharmony.cn"));
//邮件的标题
message.setSubject("只包含文本的简单邮件");
//邮件的文本内容
message.setContent("测试,你好啊!", "text/html;charset=UTF-8");
//返回创建好的邮件对象
return message;
} }

身份验证类:SimpleAuthenticator

package com.test.mail;

import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication; public class SimpleAuthenticator extends Authenticator {
private String user;
private String pwd; public SimpleAuthenticator(String user, String pwd) {
this.user = user;
this.pwd = pwd;
} @Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user, pwd);
} }

javaMail邮件发送的简单实现的更多相关文章

  1. Spring的javaMail邮件发送(带附件)

    项目中经常用到邮件功能,在这里简单的做一下笔记,方便日后温习. 首先需要在配置文件jdbc.properties添加: #------------ Mail ------------ mail.smt ...

  2. JavaMail邮件发送不成功的那些坑人情况及分析说明

    [我的Segmentfault原文]https://segmentfault.com/a/1190000008030346 前言   JavaMail的使用本身并不难,网上有不少案例,简单易懂,而且有 ...

  3. javaMail 邮件发送和接收示例,支持正文图片、html、附件(转)

    转自:https://blog.csdn.net/star_fly4/article/details/52037587 一.RFC882文档简单说明 RFC882文档规定了如何编写一封简单的邮件(纯文 ...

  4. javamail邮件发送例子

    public class EmailTask{        // Session used by the javamail classes    private Session session;   ...

  5. Spring mail 邮件发送的简单实现

    package cn.taskSys.utils; import java.util.Properties; import org.springframework.mail.MailException ...

  6. JavaMail 邮件发送

    jar包部署 /** * 通过SMTP进行邮件集成 */ public class CmpSendMail { // 邮件发送服务器主机 private final static String HOS ...

  7. Java Mail邮件发送的简单实现

    1.什么是java mail JAVA MAIL是利用现有的邮件账户发送邮件的工具,通过JAVA Mail的操控,让程序自动的使用设置的邮箱发送邮件. 这一机制被广泛的用在注册激活和垃圾邮件的发送等方 ...

  8. JAVA邮件发送的简单实现

    JAVA MAIL是利用现有的邮件账户发送邮件的工具,比如说,我在网易注册一个邮箱账户,通过JAVA Mail的操控,我可以不亲自登录网易邮箱,让程序自动的使用网易邮箱发送邮件.这一机制被广泛的用在注 ...

  9. 基于JavaMail的Java邮件发送:简单邮件发送

    使用Java应用程序发送 E-mail 十分简单,但是首先你应该在你的机器上安装 JavaMail API 和Java Activation Framework (JAF) . 您可以从 Java 网 ...

随机推荐

  1. enode框架step by step之saga的思想与实现

    enode框架step by step之saga的思想与实现 enode框架系列step by step文章系列索引: 分享一个基于DDD以及事件驱动架构(EDA)的应用开发框架enode enode ...

  2. vsftp FTP服务器外网访问设置

    引用: linux中VSFTP无法从外网访问问题! http://blog.csdn.net/zbulrush/article/details/841978 原文: FTP协议有两种工作方式:PORT ...

  3. solrcloud集群部署

    Zookeeper安装 Zookeeper的安装和配置十分简单, 既可以配置成单机模式, 也可以配置成集群模式. 下面将分别进行介绍. 注意防火墙和selinux,关闭后进行如下配置,由于是Java写 ...

  4. hdu 3333 Turing Tree(线段树+离散化)

    刚看到是3xian大牛的题就让我菊花一紧,觉着这题肯定各种高端大气上档次,结果果然没让我失望. 刚开始我以为是一个普通的线段树区间求和,然后啪啪啪代码敲完测试没通过,才注意到这个求和是要去掉相同的值的 ...

  5. a5站长论坛和s8站长论坛-网上兼职做任务赚钱的两大网站

     1.什么是做任务赚钱? 简而言之,就是你做别人不在行而你在行的技术 ,如 图片美化 网站建设 网站修改 网站推广等网络业务. 2.任务赚钱有什么特点? 完全免费,你付出的是技术和时间,完全免费,不过 ...

  6. Windows 8.1 Preview的新功能和新API

    http://msdn.microsoft.com/en-us/library/windows/apps/bg182410 App打包 新的App程序包将使App的提交更简单.资源包可以让你提供附加的 ...

  7. c/c++ 算法之快速排序法 冒泡排序法,选择排序法,插入排序法

    本文详细叙述和实现了快速排序算法,冒泡排序 选择排序 插入排序比较简单,原理在这里不再详述,直接用代码进行了实现. 快速排序法(quicksort)是目前所公认最快的排序方法之一(视解题的对象而定), ...

  8. Win7下python Scrapy一站式搭建全攻略(内附相关下载链接)

    写在前面: 好久没有登录博客了,意外看到之前的几篇文章都有不错的阅读量,开心极了,不过没有什么点赞和评论,大概是没有给大家带来什么切实的帮助吧.o(*////▽////*)q. 最近在NTU负责一个国 ...

  9. abstract class与interface的区别与联系

    1.相同点:A. 两者都是抽象类,都不能实例化.B. interface实现类及abstract class的子类都必须要实现已经声明的抽象方法. 2. 不同点:A. interface需要实现,要用 ...

  10. [HMLY]13.请谨慎使用 @weakify 和 @strongify

    前言 相信大部分见过 @weakify 和 @strongify 的开发者都会喜欢上这两个宏.但是很多人只知道它的强大威力,却没有意识到在特定环境下的危险性. 本文将通过代码测试的方式告诉读者,如何正 ...