smtp与pop3

  • SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议
  • SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器
  • POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本
  • POP3服务器则是遵循POP3协议的接收邮件服务器

简单来说:

SMTP是发送邮件协议

POP3是接收邮件协议

java如何发送邮件

  • java中需要使用第三方jar包来发送邮件
  • 帐号准备,注册一个邮箱

帐号:*****@163.com

密码:  *****

发送邮件工具类代码

import java.util.Properties;
import javax.mail.Address;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage; public class SendJMail{
static final String from = "***@163.com"; // 邮件发送人的邮件地址
static final String smtp = "smtp.163.com"; //smtp服务器
static final String username = "***@163.com"; //发件人的邮件帐户
static final String password = "*****"; //发件人的邮件密码 public static boolean sendMail(String email, String emailMsg) {
String to = email; // 邮件接收人的邮件地址 //定义Properties对象,设置环境信息
Properties props = System.getProperties(); //设置邮件服务器的地址
props.setProperty("mail.smtp.host", smtp); // 指定的smtp服务器
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.transport.protocol", "smtp");//设置发送邮件使用的协议
//创建Session对象,session对象表示整个邮件的环境信息
Session session = Session.getInstance(props);
//设置输出调试信息
session.setDebug(true);
try {
//Message的实例对象表示一封电子邮件
MimeMessage message = new MimeMessage(session);
//设置发件人的地址
message.setFrom(new InternetAddress(from));
//设置主题
message.setSubject("用户激活");
//设置邮件的文本内容
//message.setText("Welcome to JavaMail World!");
message.setContent((emailMsg),"text/html;charset=utf-8"); //设置附件
//message.setDataHandler(dh); //从session的环境中获取发送邮件的对象
Transport transport=session.getTransport();
//连接邮件服务器
transport.connect(smtp,25, username, password);
//设置收件人地址,并发送消息
transport.sendMessage(message,new Address[]{new InternetAddress(to)});
transport.close();
return true;
} catch (MessagingException e) {
e.printStackTrace();
return false;
}
}
}

jar下载链接

https://files.cnblogs.com/files/royal6/%E9%82%AE%E4%BB%B6jar.rar

Java发送邮箱的更多相关文章

  1. java代码发送邮箱验证码与qq邮箱smtp服务

    发送邮箱的类封装,在此之前需要一个jar包  javax.mail.jar 下载链接https://github.com/javaee/javamail/releases/download/JAVAM ...

  2. java向邮箱发送消息失败!

    出现的错误如下: org.apache.commons.mail.EmailException: Sending the email to the following server failed : ...

  3. Java实现发送邮箱验证码/注册验证链接

    本文以163邮箱为例 1.准备(邮箱账号,邮箱必须设置POP3/SMTP/IMAP,设置步骤如下:) >>步骤:1 开启授权码服务 >>步骤:2 手机获取验证码 >> ...

  4. JAVA 发送各种邮箱邮件 javamail

    QQ邮箱 /** * 单条发送 * @param mail 邮件对象,包含发送人.邮件主题.邮件内容 * @param recipients 收件人 * @throws AddressExceptio ...

  5. java发送带附件的邮件

    /** * java发送带附件的邮件 * 周枫 * 2013.8.10 */ package com.dsideal.Util; import javax.mail.*; import javax.m ...

  6. Java实现邮箱验证

    Java实现邮箱验证 JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口.它是Sun发布的用来处理email的API.它可以方便地执行一些常用的邮件传输.我们可以基于JavaMail开 ...

  7. Java注册帐号邮箱激活验证实现

    Java注册帐号邮箱激活验证实现 1.需要加入发送邮件的mail.jar: http://www.oracle.com/technetwork/java/javamail/index-138643.h ...

  8. 发送邮箱验证码、session校验

    本篇主要描述“发送邮箱验证码.session校验”相关前(html\js)后(java)台代码,业务逻辑示例,闲话少诉,直接上代码. 1.引入的jar包是mail-1.4.jar 2.java底层发送 ...

  9. java mail Received fatal alert: handshake_failure java 无法发送邮件问题 java 发送qq邮件(含源码)

     java 无法发送邮件问题 java 发送qq邮件 报错:java mail Received fatal alert: handshake_failure (使用ssl) javax.mail.M ...

随机推荐

  1. The full stack trace of the root cause is available in the Apache Tomcat/8.0.8 logs.

    这个问题是版本冲突的问题 1.调低jdk 版本,不能让jdk版本太高,至少不能比tomcat高,要不然就会有这个错误. 2.如果看过我这篇博客的人(https://www.cnblogs.com/CH ...

  2. Nacos快速开始

    Nacos是一个服务发现.配置管理和服务管理的组件. 说到服务注册与发现,我想到Eureka.Zookeeper 说到服务治理,我想到Dubbo 说到配置管理,我想到Apollo 作为后起之秀的Nac ...

  3. 干货 | DRDS 与TiDB浅析

    干货 | DRDS 与TiDB浅析 北京it爷们儿 京东云开发者社区  4月17日 在谈论数据库架构和数据库优化的时候,会常听到"分库分表"."分片".&quo ...

  4. 吴裕雄--天生自然 JAVASCRIPT开发学习: 表单

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script> ...

  5. JDBC<android studio,kotlin>

    工具:mysql 5.6.19,mysql-connector-java-5.1.48.jar,android stuido&android studio自带模拟器 1.在mysql数据库中新 ...

  6. VUE,index key v-for

    列表渲染语法  v-forv-for 循环对象 <article v-for="(item, key, index) of info">{{item}} {{key}} ...

  7. JavaScript学习总结(四)

    这一部分我们继续介绍JavaScript的常用对象. Number对象 创建Number对象 方式1: var 变量= new Number(数字) 方式2: var 变量 = 数字; 常用的方法 t ...

  8. 剑指offer【08】- 二叉树的深度(java)

    题目:二叉树的深度 考点:知识迁移能力 题目描述:输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. 牛客网上的剑指offer题, ...

  9. Go mod graphql-go 的 Replace

    现在在项目中大量的使用 graphql,但用的版本是3年前的版本. 3年前包的url:github.com/neelance/graphql-go 现在的url:github.com/graph-go ...

  10. shift+alt 可对notepadplusplus 打开的文档进行列操作

    shift+alt 可对notepadplusplus 打开的文档进行列操作