1.

import javax.mail.Authenticator;

import javax.mail.PasswordAuthentication;

/*

* 在真正使用创建的过程中,往往会让我们验证密码,这是我们要写一个密码验证类。javax.mail.Authenticator是一个抽象类,

* 我们要写MyAuthenticator的密码验证类,该类继承Authenticator实现:

* */

//用户名密码验证,需要实现抽象类Authenticator的抽象方法PasswordAuthentication

public class MyAuthenricator extends Authenticator {

String u = null;

String p = null;

public MyAuthenricator(String u, String p){

this.u=u;

this.p=p;

}

@Override

protected PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication(u,p);

}

}

2.

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

import java.util.Date;

import java.util.Properties;

public class MailExample {

public static void main(String[] args) throws Exception {

/**

* 1.配置发件人邮箱信息以及创建一个Java 配置类存放SMTP服务器地址等参数。

*/

String sendEmailAccount = "d9_felix@163.com"; // 发件人邮箱

String sendEmailPassword = "zxc751953."; // 发件人密码

String sendEmailSMTPHost = "smtp.163.com"; // 发件人邮箱的 SMTP 服务器地址, 此处为Outlook邮箱的SMTP服务器

String receiveMailAccount = "1390095964@qq.com"; // 收件人邮箱

Properties props = new Properties(); // 使用Java配置类进行配置

props.setProperty("mail.transport.protocol", "smtp"); // 使用的协议(JavaMail规范要求)

props.setProperty("mail.smtp.host", sendEmailSMTPHost); // 发件人的邮箱的 SMTP 服务器地址

props.setProperty("mail.smtp.auth", "true"); // 需要请求认证

final String smtpPort = "25"; // 默认端口号设置为587,也可以设置为465,具体取决于SMTP服务器要求的端口号

props.setProperty("mail.smtp.port",smtpPort );

props.setProperty("mail.smtp.socketFactory.fallback", "false");

props.setProperty("mail.smtp.starttls.enable", "true");

props.setProperty("mail.smtp.socketFactory.port", smtpPort );

/**

* 2.创建一个同邮件服务器交互的session

*/

Session session = Session.getDefaultInstance(props, new MyAuthenricator("d9_felix", "Gg9999999"));

session.setDebug(true);

MimeMessage message = new MimeMessage(session); // 1. 创建一封邮件

message.setFrom(new InternetAddress(sendEmailAccount, "ExampleFrom", "UTF-8")); // 2. From: 发件人

message.setRecipient(MimeMessage.RecipientType.TO,

new InternetAddress(receiveMailAccount, "ExampleUser", "UTF-8")); // 3. To: 收件人

message.setSubject("", "UTF-8"); // 4. Subject: 邮件主题(标题有广告嫌疑,避免被邮件服务器误认为是滥发广告以至返回失败,请修改标题)

message.setContent("

This is a test email.

", "text/html;charset=UTF-8"); // 5. Content: 邮件正文

message.setSentDate(new Date()); // 6. 设置邮件发件时间

message.saveChanges(); // 7. 保存设置

/**

* 3.创建一封格式化的邮件

*/

Transport transport = session.getTransport(); // 1. 根据 Session 获取邮件传输对象

transport.connect(sendEmailAccount, sendEmailPassword); // 2. 使用 邮箱账号 和 密码 连接邮件服务器

transport.sendMessage(message, message.getAllRecipients()); // 3. 发送邮件, 发到所有的收件地址, message.getAllRecipients() 获取到的是在创建邮件对象时添加的所有收件人, 抄送人,

transport.close(); // 4. 关闭连接

}

}

因为这是很早之前写的记录 当时记录比较粗糙 没有过细 等以后有时间了再过来细化吧

java邮件发送代码_用Java实现最简单的邮件发送代码相关推荐

  1. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  2. java邮件发送代码_用java代码发送邮件(优化版)

    调用代码如下: if(!StringUtil.isNullOrEmpty(address)){ SendEmailUtil.sendEmail(globalProperties.getEmailSub ...

  3. java cxf服务端代码_【JAVA】 cxf 生成 webservice 服务端代码

    CXF Apache CXF = Celtix + XFire.CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且提供了多种 Binding . ...

  4. java调节音量代码_用Java调用VC音量控制程序_java

    前言 本文通过java的Runtime接口来实现调用其他语言实现的应用程序,进而来实现对计算机硬件信息的监控和控制.本文是多媒体信息系统的一个部分,就是调整计算机音量. 使用VC编写音量控制程序 本控 ...

  5. java编写排序的代码_在Java 8之前,您编写了几行代码来对对象集合进行排序?...

    java编写排序的代码 在Java 8之前,您编写了几行代码来对对象集合进行排序? Java 8您需要多少个? 您可以在Java 8中用一行完成. 让我们看看下面的Employee类. public ...

  6. java空心正方形代码_从Java中的用户输入绘制空心星号正方形/矩...

    我正在尝试创建一个程序,要求用户提供正方形/矩形的宽度和长度尺寸,然后使用#符号将其绘制出来.我几乎了解了,除了我似乎不太了解矩形的右边以正确打印出来- 这是我的代码: import java.uti ...

  7. java dijkstra算法代码_[转载]Java实现dijkstra算法: 地图中任意起点寻找最佳路径...

    最近在复习java,下学期要用,写这个练手.  技术较粗糙,见谅. 代码里用的是这幅地图,根据实际情况更改,在addNode方法中 这个是运行结果,起点和终点在 运行wrap(String qidia ...

  8. java 怎么调用js代码_在Java中直接调用js代码

    JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码. 在Java中直接调用js代码 不能调用浏览器中定义的js函数,会抛出异常提示ReferenceError: " ...

  9. (1 24) 3 java代码_《Java语言程序设计》测试题及参考答案(第1部分)

    一.单项选择题 1.Java Applet编程时用户的Applet程序类的正确定义是哪一种 ? (1)class MyApplet extends applet{ } (2)class MyApple ...

  10. java 测试用例核心代码_核心Java测验

    java 测试用例核心代码 Welcome to Core Java Quiz. Java is an object-oriented programming language. 欢迎来到Core J ...

最新文章

  1. Emacs之爬坑日记(一)
  2. .+filename的作用
  3. c语言1e3和1e3,自考“高级语言程序设计”习题答案详解(33)
  4. 亚马逊AI又遭抗议:一个好端端的美国官员,怎么就成罪犯了?
  5. JQuery快速学一(强悍的选择器)
  6. mybatis oracle 多条件批量删除_面试官经常喜欢问的Mybatis经典面试题,值得好好收藏哦!...
  7. 天人合一物我相融,站点升级渐进式Web应用PWA(Progressive Web Apps)实践
  8. 巧用Mac上的Spotlight搜索
  9. 职场五大能力之学习能力
  10. Internet时间自动同步,国内可用的时间服务器
  11. 工作Delay,应该吸取什么教训?(一)
  12. Docker——安装和启动
  13. ftp文件上传和下载
  14. 内网环境下CentOs离线安装程序
  15. 在线html 生成链接,网址链接生成器
  16. 你是我生命中最美丽的温暖
  17. U8标准接口API生成采购到货单
  18. Android 和 iPhone 界面布局示例
  19. Unity Fur Shader 皮毛着色器
  20. JAVA实现Date日期加一天

热门文章

  1. 数据挖掘系列(4)使用weka做关联规则挖掘
  2. 欢迎进入 K同学啊 的博客目录(全站式导航)
  3. matlab读取.xyz文件及任意有间隔符数据
  4. LeetCode-剑指 Offer 03. 数组中重复的数字
  5. 【Cocosd2d实例教程四】Cocos2d实现人物原地走动
  6. Haunt - Youzan 服务发现 概述
  7. Docker底层技术
  8. mybatis使用注解替代xml配置,动态生成Sql
  9. 在 Java 中高效使用锁的技巧--转载
  10. 几种任务调度的 Java 实现方法与比较--转载