// 发送邮件
public static void send(String toEmail, String content) {
Session session = getSession();
try {
System.out.println("--send--" + content);
// Instantiate a message
Message msg = new MimeMessage(session); // Set message attributes
msg.setFrom(new InternetAddress("from@qq.com"));//发件人地址
InternetAddress[] address = { new InternetAddress("to@qq.com") };
msg.setRecipients(Message.RecipientType.TO, address);// 收件人地址
msg.setSubject("这是发生的主题");// 发送的主题
msg.setSentDate(new Date());// 发送日期
msg.setContent("这是发生的内容", "text/html;charset=utf-8");// 发送类型 // Send the message
Transport.send(msg);
} catch (MessagingException mex) {
mex.printStackTrace();
}
} private static Session getSession() {
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.qq.com");// 设置服务器地址
props.put("mail.store.protocol", "smtp");// 设置协议
props.put("mail.smtp.port", 25);// 设置端口
props.put("mail.smtp.auth", "true");// 一定要这么设置,验证"true",不能设置为true
// 创建一个密码验证器
Authenticator authenticator = new Authenticator() { @Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("from@qq.com", "****");//发送邮件的账户和密码
} };
// 根据邮件会话属性和密码验证器构造一个发送邮件的session
Session session = Session.getDefaultInstance(props, authenticator); return session;
}

我用的是mail.jar和activation-1.1.1.jar。

发送者邮箱需要开启POP3/SMTP服务和IMAP/SMTP服务。qq邮箱发送,设置服务的时候需要设置独立密码,上面使用的验证密码就是这个独立密码,使用qq邮箱的登录密码是不行的。否则会报:535 Authentication failed 这个错误。

调用上面的send方法,把要接受邮箱的地址和内容传过来就可以。

javamail邮件发送的更多相关文章

  1. javamail邮件发送例子

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

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

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

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

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

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

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

  5. JavaMail 邮件发送

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

  6. 应用层之E-mail服务及javaMail邮件发送的知识总结

    关于Email服务你需要知道的知识点: 概述: 今天来介绍一下应用层的电子邮件服务,我们每天几乎都在用,电子邮件(email)服务也是一种基于C/S模式的服务,它采用的是一种"存储-转发&q ...

  7. javaMail邮件发送的简单实现

    package com.test.mail; import java.util.Properties; import javax.mail.Message; import javax.mail.Ses ...

  8. (转)JavaMail邮件发送-发送一个文本邮件和一些问题说明

    需要下载的JAR包: JavaMail:http://www.oracle.com/technetwork/java/javamail/index.html JAF:http://www.oracle ...

  9. 带有附件及图片正文的JavaMail邮件发送

    1 package javamail; 2 3 import java.io.UnsupportedEncodingException; 4 import java.util.Properties; ...

随机推荐

  1. ECS活动真实IP (前端存在SLB)

    log_format main 'realip:$http_x_forwarded_for slbip:$remote_addr-$remote_user [$time_local] "$r ...

  2. 一个用于上传文件的servlet

    1.jsp页面操作文件: <%@ page language="java" import="java.util.*" pageEncoding=" ...

  3. myeclipse启动服务器时,tomcat出错问题

    启动服务器,错误提示: Launching web on myeclipse tomcat has encountered a problem An internal error occurred d ...

  4. 学习smail注入遇到的坑

    1.将需要被反编译的apk包解开之后,找到MainActivity,然后在OnCreate中添加需要加入注入的smail代码: Java代码: /** * 获取Android id * * @para ...

  5. MySQL data路径为空解决方法

    CMD x:\mysql\5.7.12\bin>mysqld --initialize-insecure --user=mysql

  6. 初级AD域渗透系列

      net group /domain 获得所有域用户组列表 net group “domain admins” /domain 获得域管理员列表 net group “enterprise admi ...

  7. Uploadify 上传后的文件删除,上传队列无法更新问题

    1. 定义一个上传限制数量 var uploadLimit = 3; 2. 点击页面的删除图片成功后,将uploadLimit++操作 3. 通过uploadify的settings方式重置上传限制数 ...

  8. 一个初学者的辛酸路程-socket编程-8

    前言: 你会发现会网络是多么幸福的事情 主要内容: socket 概念: socket本质上就是2台网络互通的电脑之间,架设一个通道,两台电脑通过这个通道来实现数据的互相传递.我们知道网络通信都是基于 ...

  9. jdbc_servlet基础增删改分页2(userinfo表的)

    1.创建如下文件目录 2.导入MyBatis的jar文件 3.创建实体类 package com.entity; public class Userinfo { private Integer uid ...

  10. date,datetime,timestamp 的区别

    date 表示年月日,如YY-MM-DD datetime 表示年月日和时间信息,如YY-MM-DD HH:MM:SS datestamp 和datetime表示的信息相同,但时间范围不同 时间范围 ...