本笔记参考自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/17839983

  JavaMail是SUN提供给开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发类库,支持常用的邮件协议,如SMTP、POP3、IMAP,开发人员使用JavaMail编写邮件程序时,无需考虑底层的通信细节(Socket),JavaMail也提供了能够创建出各种复杂MIME格式的邮件内容的API。使用JavaMail,我们可以实现类似OutLook、FoxMail的软件。虽然JavaMail(仅支持JDK4及以上)也是Java的API之一,但是却没有直接加入到JDK中,所以我们需要另行下载。另外,JavaMail依赖JAF(JavaBeans Activation Framework),JAF在Java6之后已经合并到JDK中,而JDK5之前需要另外下载JAF的类库。

  JavaMail:http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-eeplat-419426.html#javamail-1.4.5-oth-JPR

  JAF:http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jaf-1.1.1-fcs-oth-JPR

本人测试代码

package org.sunny.shop.utils;

import java.util.Properties;

import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage; public class EmailUtil { // 主机地址
private static String host = "smtp.163.com";
// 发件人,填写你的邮箱账号
private static String from = "XXX@163.com";
// 发件人密码,填写你自己的邮箱密码
private static String password = "****";
/***发件正文***/
private static String link = "http://192.168.0.119:8080/"; private static String getContent(String link){
String content = "<h3>这是一封转到Tomcat服务器主页的测试邮件,点击此链接进行测试!</h3>"
+ "<a href='"+ link +"'>点此激活</a>";
return content ;
} public static void sendEmail(String to, String content) { /*** 1、创建Session ***/
Properties props = new Properties();
// 开启调试模式
props.setProperty("mail.debug", "true");
// 发送主机需要身份验证
props.setProperty("mail.smtp.auth", "true");
// 设置主机名称
props.setProperty("mail.host", host);
// 设置主机端口
props.setProperty("mail.port", "25");
// 发送协议名称
props.setProperty("mail.transport.protocol", "smtp");
Session session = Session.getInstance(props);
/*** 2、创建邮件对象 ***/
Message msg = new MimeMessage(session);
try {
// 设置发件人
msg.setFrom(new InternetAddress(from));
// 设置标题
msg.setSubject("这是一封测试邮件");
// 设置内容
msg.setContent(content, "text/html;charset=UTF-8");
/*** 3、发送邮件 ***/
Transport transport = session.getTransport();
transport.connect(from, password);
transport.sendMessage(msg, new Address[] { new InternetAddress(to) });
transport.close();
} catch (MessagingException e) {
e.printStackTrace();
}
System.out.println("send mail success !!");
}public static void main(String[] args) {
    
sendEmail("收件人账号@qq.com", getContent(link + "index.action"));
} }

使用Java Mail发送邮件的更多相关文章

  1. Spring Boot 揭秘与实战(七) 实用技术篇 - Java Mail 发送邮件

    文章目录 1. Spring Boot 集成 Java Mail 2. 单元测试 3. 源代码 Spring 对 Java Mail 有很好的支持.因此,Spring Boot 也提供了自动配置的支持 ...

  2. java mail(发送邮件--163邮箱)

    package com.util.mail; /** * 发送邮件需要使用的基本信息 */ import java.util.Properties; public class MailSenderIn ...

  3. java mail发送邮件

    最近做了自动发送邮件功能,带附件的:需要的jar包有

  4. 简单的java mail发送邮件实例

    mail.jar ,commons-email-X.X.jar ,activation.jar ,log4j.jar  这四个jar,放进项目里 下载地址 http://www.oracle.com/ ...

  5. 利用java mail发送邮件(转)

    JavaMail是SUN提供给开发者在应用程序中实现邮件发送和接收功能而提供的一套标准开发类库,支持经常使用的邮件协议,如SMTP.POP3.IMAP.开发者使用JavaMail编写邮件程序时,无需考 ...

  6. Java Mail 发送邮件(SSL加密方式,TSL加密方式)

    一.一般配置 发送邮件需要用到  mail包 maven 依赖如下: <!-- https://mvnrepository.com/artifact/javax.mail/mail --> ...

  7. 使用java mail 发送邮件

    1.关联jar包:   activation.jar   mail.jar 2.调用 @Test public void test1() { List<String> imageUrlLi ...

  8. Java mail 发送邮件 主题(标题)乱码

    最近开发遇到Javamail  发送邮件标题乱码问题,腾讯.网易邮箱不会乱码,阿里邮箱  标题则会乱码.解决办法: String subject = MimeUtility.encodeWord(ma ...

  9. 利用java mail发送邮件

    import java.util.Date; import java.util.Properties; import javax.activation.DataHandler; import java ...

随机推荐

  1. 分布式发布订阅消息系统 Kafka 架构设计[转]

    分布式发布订阅消息系统 Kafka 架构设计 转自:http://www.oschina.net/translate/kafka-design 我们为什么要搭建该系统 Kafka是一个消息系统,原本开 ...

  2. 【POJ1195】【二维树状数组】Mobile phones

    Description Suppose that the fourth generation mobile phone base stations in the Tampere area operat ...

  3. OC 字符和日期的互转

    需要用到NSDateFormatter这个类. 1.字符串转换为日期 [plain]NSDateFormatter* dateFormat = [[NSDateFormatter alloc] ini ...

  4. How far away ?

    #include<iostream> #include <algorithm> using namespace std; const int M=40010; int dis[ ...

  5. FC8下备份linux系统

    linux系统可以使用tar来备份.<br><br> 我在FC8上装好了totem, mplayer, audacious, 并搞定了wifi后,我觉得该备份一下FC8系统.& ...

  6. DEDECMS使用SQL命令批量替换语句

    1.更改文章中的内容 update dede_addonarticle set body=replace(body,'原来的字符','替换后的字符') 2,替换文章标题 update dede_arc ...

  7. 生成订单唯一id

    $yCode = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'); $orderSn = $yCode[intval(date('Y') ...

  8. YII 自动引入juquery进行表单验证

    在form表单 里面引入这么一句话 array(      'enableClientValidation'=>true,    'clientOptions'=>array(       ...

  9. android 开源项目学习

    1.Android团队提供的示例项目 如果不是从学习Android SDK中提供的那些样例代码开始,可能没有更好的方法来掌握在Android这个框架上开发.由Android的核心开发团队提供了15个优 ...

  10. 抽象数据类型Triplet的C语言实现

    #include <stdio.h> #include <stdlib.h> #define ERROR 0 #define OK 1 typedef int Status; ...