java邮件发送代码_用Java实现最简单的邮件发送代码
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实现最简单的邮件发送代码相关推荐
- java项目----教务管理系统_基于Java的教务管理系统
java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...
- java邮件发送代码_用java代码发送邮件(优化版)
调用代码如下: if(!StringUtil.isNullOrEmpty(address)){ SendEmailUtil.sendEmail(globalProperties.getEmailSub ...
- java cxf服务端代码_【JAVA】 cxf 生成 webservice 服务端代码
CXF Apache CXF = Celtix + XFire.CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且提供了多种 Binding . ...
- java调节音量代码_用Java调用VC音量控制程序_java
前言 本文通过java的Runtime接口来实现调用其他语言实现的应用程序,进而来实现对计算机硬件信息的监控和控制.本文是多媒体信息系统的一个部分,就是调整计算机音量. 使用VC编写音量控制程序 本控 ...
- java编写排序的代码_在Java 8之前,您编写了几行代码来对对象集合进行排序?...
java编写排序的代码 在Java 8之前,您编写了几行代码来对对象集合进行排序? Java 8您需要多少个? 您可以在Java 8中用一行完成. 让我们看看下面的Employee类. public ...
- java空心正方形代码_从Java中的用户输入绘制空心星号正方形/矩...
我正在尝试创建一个程序,要求用户提供正方形/矩形的宽度和长度尺寸,然后使用#符号将其绘制出来.我几乎了解了,除了我似乎不太了解矩形的右边以正确打印出来- 这是我的代码: import java.uti ...
- java dijkstra算法代码_[转载]Java实现dijkstra算法: 地图中任意起点寻找最佳路径...
最近在复习java,下学期要用,写这个练手. 技术较粗糙,见谅. 代码里用的是这幅地图,根据实际情况更改,在addNode方法中 这个是运行结果,起点和终点在 运行wrap(String qidia ...
- java 怎么调用js代码_在Java中直接调用js代码
JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码. 在Java中直接调用js代码 不能调用浏览器中定义的js函数,会抛出异常提示ReferenceError: " ...
- (1 24) 3 java代码_《Java语言程序设计》测试题及参考答案(第1部分)
一.单项选择题 1.Java Applet编程时用户的Applet程序类的正确定义是哪一种 ? (1)class MyApplet extends applet{ } (2)class MyApple ...
- java 测试用例核心代码_核心Java测验
java 测试用例核心代码 Welcome to Core Java Quiz. Java is an object-oriented programming language. 欢迎来到Core J ...
最新文章
- Emacs之爬坑日记(一)
- .+filename的作用
- c语言1e3和1e3,自考“高级语言程序设计”习题答案详解(33)
- 亚马逊AI又遭抗议:一个好端端的美国官员,怎么就成罪犯了?
- JQuery快速学一(强悍的选择器)
- mybatis oracle 多条件批量删除_面试官经常喜欢问的Mybatis经典面试题,值得好好收藏哦!...
- 天人合一物我相融,站点升级渐进式Web应用PWA(Progressive Web Apps)实践
- 巧用Mac上的Spotlight搜索
- 职场五大能力之学习能力
- Internet时间自动同步,国内可用的时间服务器
- 工作Delay,应该吸取什么教训?(一)
- Docker——安装和启动
- ftp文件上传和下载
- 内网环境下CentOs离线安装程序
- 在线html 生成链接,网址链接生成器
- 你是我生命中最美丽的温暖
- U8标准接口API生成采购到货单
- Android 和 iPhone 界面布局示例
- Unity Fur Shader 皮毛着色器
- JAVA实现Date日期加一天