JAVA实现发送电子邮件

  相信大家对于网站也好,手机app也好,用户注册时,需要进行邮箱验证的功能特别好奇吧,本篇我将带领大家一起实现一下这个简单而又神奇的小功能,让我们的应用也可以加入这些神奇的元素。废话不多说,下面开始我们今天的内容介绍。

  首先实现上面的功能,需要一个固定的发送电子邮件的邮箱地址,这里我们就以我们经常使用的QQ邮箱为例实现一下这个功能。

  第一件事,你需要开启QQ邮箱的IMAP/SMAP服务:

  登录QQ邮箱-->设置-->账号-->开启IMAP/SMAP与P0P3/SMAP

  

  

  

  开启这两个时,你会获得两个密码,接下来的内容中会使用到。

  发送电子邮件服务,需要使用到一下三个JAR包:mail.jar;activation.jar;cos.jar,这里我已经帮大家整理好了,下载地址:http://pan.baidu.com/s/1sknsZOp,下载好我们的JAR包,导入到我们工程的lib目录下即可。

  发送电子邮件的JAVA代码如下:

import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

/**
 * 使用QQ邮箱IMAP/SMTP的实现发送电子邮件
 * 2015-12-06
 */
public class Mail {
    public static void main(String[] args) {
        Properties props = new Properties();
        props.put("mail.smtp.host", "smtp.qq.com");
        props.put("mail.smtp.port", "587");//使用465或587端口
        props.put("mail.smtp.auth", "true");//设置使用验证
        props.put("mail.smtp.starttls.enable","true");//使用 STARTTLS安全连接
        try {
            PopupAuthenticator auth = new PopupAuthenticator();
            Session session = Session.getInstance(props, auth);
            session.setDebug(true);//打印Debug信息
            MimeMessage message = new MimeMessage(session);
            Address addressFrom = new InternetAddress(PopupAuthenticator.mailuser + "@qq.com", "");//第一个参数为发送方电子邮箱地址;第二个参数为发送方邮箱地址的标签
            Address addressTo = new InternetAddress("xxxxxxxxxxxx", "");//第一个参数为接收方电子邮箱地址;第二个参数为接收方邮箱地址的标签
            message.setSubject("发送电子邮件的主题");
            message.setText("发送电子邮件内容");
            message.setFrom(addressFrom);
            message.addRecipient(Message.RecipientType.TO, addressTo);
            message.saveChanges();
            Transport transport = session.getTransport("smtp");
            transport.connect("smtp.qq.com", PopupAuthenticator.mailuser, PopupAuthenticator.password);
            transport.send(message);
            transport.close();
            System.out.println("发送成功");
        } catch (Exception e) {
            System.out.println(e.toString());
            System.out.println("发送失败");
        }
    }
}

class PopupAuthenticator extends Authenticator {
    public static final String mailuser = "1453296946";//发送方邮箱‘@‘符号前的内容:[email protected]
    public static final String password = "xxxxxxxxxxxx";//成功开启IMAP/SMTP服务,在第三方客户端登录时,腾讯提供的密码。注意不是邮箱密码

    public PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(mailuser, password);
    }
}

  是不是很简单,接下来我们的邮箱验证、登录验证、注册验证、找回密码是不是都找到实现的方向啦。

时间: 2024-10-11 22:27:05

JAVA实现发送电子邮件的相关文章

JAVA中发送电子邮件的方法

JAVA中发送邮件的方法不复杂,使用sun的JavaMail的架包就可以实现. 一.下载JavaMail的架包,并导入项目中,如下: 二.附上代码例子,如下: 1.在main函数中对各项参数进行赋值(参数说明已进行备注),即可通过send函数进行发送邮件操作. 1 public class TestEmail { 2 3 private final static String TIMEOUT_MS = "20000"; 4 5 public static void main(Strin

javamail模拟邮箱功能发送电子邮件-基础篇(java电子邮件实例)

引言: JavaMail 是一种可选的.能用于读取.编写和发送电子消息的包 JavaMail jar包下载地址:http://java.sun.com/products/javamail/downloads/index.html JavaMail  API中包含了多种邮件传输协议: SMTP   POP(最新为pop3)  IMAP  MIME 四大类  (本章主要讲解常用的 SMTP) 该API的几大核心类:会话(session).消息(message).地址(address).验证程序(Au

javamail模拟邮箱功能发送电子邮件-中级实战篇【新增附件发送方法】(javamail API电子邮件实例)

引言: 此篇是紧随上篇文章而封装出来的,阅读本篇章建议先阅读上一篇  --> javamail模拟邮箱功能发送电子邮件-基础实战篇 上一篇章简单讲解了javamail发送邮件的基本基础和用到的几个类,并且所有初始化和发送方法都封装在一个类里面(为了代码方便演示),本章节将对各个模块进行拆分和优化,并且引入附件发送的方法 要想邮件发送附件,就要引入两个新类  Multipart 和 BodyPart 两类 Multipart(报文部件容器) 实则为一个报文容器,而邮件消息  Msage 是由各个子

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

http://blog.csdn.net/xietansheng/article/details/51673073 http://www.cnblogs.com/codeplus/archive/2011/10/30/2229391.html http://blog.csdn.net/ghsau/article/details/17839983 ******************** 电子邮件的应用非常广泛,例如在某网站注册了一个账户,自动发送一封欢迎邮件,通过邮件找回密码,自动批量发送活动信

Spring通过Gmail SMTP服务器MailSender发送电子邮件

Spring提供了一个有用的“org.springframework.mail.javamail.JavaMailSenderImpl”类,通过JavaMail API 简化邮件发送过程.这里有一个项目中使用Spring “JavaMailSenderImpl”通过Gmail SMTP服务器发送电子邮件. 1. Spring邮件发件人 Java 类使用 Spring 的 MailSender 接口发送电子邮件. File : MailMail.java package com.yiibai.co

java邮件发送(以163邮箱为例)

1.首先应该开通163邮箱的smtp和pop3,得到授权码 2.其次建立一个web项目,否则需要倒jar包mail.jar 3.创建一个类 4.注意:邮件内容必须为正式话语,否则系统会认为是垃圾邮件而拒收,报错541DT public static void main(String[] args) throws MessagingException { Properties prop=new Properties(); prop.put("mail.host","smtp.1

发送电子邮件

思路与技术要运行本实例首先应该构建JavaMail的开发环境,在JDK中配置JavaMail的相关类和包.在构建JavaMail开发环境中,需要mail.jar和activation.jar这两个文件.这两个文件的获得可以通过SUN公司的官方网站下载. 代码如下; <html><head><title>发送电子邮件</title><meta http-equiv="Content-Type" content="text/h

Servlet 发送电子邮件

使用 Servlet 发送一封电子邮件是很简单的,但首先您必须在您的计算机上安装 JavaMail API 和 Java Activation Framework)JAF). 您可以从 Java 网站下载最新版本的 JavaMail,打开网页右侧有个 Downloads 链接,点击它下载. 您可以从 Java 网站下载最新版本的 JAF(版本 1.1.1). 你也可以使用本站提供的下载链接: JavaMail mail.jar 1.4.5 JAF(版本 1.1.1) activation.jar

java-基于JavaMail的Java邮件发送

1.基于JavaMail的Java邮件发送:简单邮件发送 2.基于JavaMail的Java邮件发送:复杂邮件发送