基于JavaMail的邮件发送程序!

JavaMail发送邮件基础实践指南 JavaMail是Java平台上用于发送和接收邮件的一套API,广泛应用于需要邮件处理功能的Java应用程序中。随着企业信息化的不断深入,邮件作为基本的交流工具,在各种系统中扮演着不可或缺的角色。JavaMail不仅提供了基本的邮件发送和接收功能,还支持多种复杂的邮件处理操作,如附件处理、邮件加密、身份验证等。本章将简要介绍JavaMail的用途和它在IT领域的普遍应用,为读者提供一个关于JavaMail功能和应用场景的概览。 阅读详情

跟前两天基于SMTP协议的效果一样的,不过采用JavaMail确实方便多了,也简单多了。

运行此程序还需两个Java包:mail.jar和activation.jar,这两个包很容易下到的,在此就不多说了

本程序用到的JavaMail API的核心类有:会话、消息、地址、验证程序、传输类

其功能分别如下:

Session类
Session类定义了一个基本的邮件会话。通过该会话可让别的工作顺利执行。Session对象利用java.util.Properties对象获取诸如邮件服务器、用户名、密码等信息,以及其他可在整个应用程序中共享的信息。

Message类
创建要发送的消息。

Address类
一旦创建了会话和消息,并为消息填充了内容,就需要用Address类为您的信件标上地址了。

Authenticator类
与java.net类一样,JavaMail API可以利用Authenticator(验证程序)类通过用户名和密码来访问受保护的资源。

Transport类
发送消息的最后一步操作是使用Transport类。该类使用特定于协议(通常是SMTP)的语言来发送消息。

JavaMail.java

-------------------------------------------------------

package mail;

import java.util.*;

import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.*;
import javax.mail.*;

public class JavaMail {
 
 String server="smtp.126.com";//smtp服务器
 String to="wasingmon@eyou.com";//收件人地址
 String from="wasingmon@126.com";//发件人地址
 String user="wasingmon";// 登陆服务器用户名
 String password="";//密码
 
 String subject="2222222";
 String content="1111111";
 
 boolean auth=true;
 boolean debug=true;
  public static void main(String[] args) {
   JavaMail sendMessage=new JavaMail();
  Properties props=new Properties();
  props.put("mail.smtp.host",sendMessage.server);
  props.put("mail.smtp.auth",String.valueOf(sendMessage.auth));//需要身份验证
  props.put("mail.dubug",String.valueOf(sendMessage.debug));//显示调试信息,方便调试
  PopupAuthenticator auth=new PopupAuthenticator(sendMessage.user, sendMessage.password);
  try{
   Session session=Session.getInstance(props,auth);// 创建会话
   session.setDebug(true);
   MimeMessage message=new MimeMessage(session); //创建消息
   Address addressTo=new InternetAddress(sendMessage.to,"wxm1");//创建地址对象
   Address addressFrom=new InternetAddress(sendMessage.from,"wxm2");
   message.setContent(sendMessage.content,"text/plain");//设置消息的各个部分内容
   message.setSubject(sendMessage.subject);
   message.setFrom(addressFrom);
   message.addRecipient(Message.RecipientType.TO,addressTo);
   message.saveChanges();
   Transport transport=session.getTransport("smtp");//传输对象
   transport.connect(sendMessage.server,25,sendMessage.user,sendMessage.password);
   Transport.send(message);
   transport.close();
   System.out.println("Succ!");
   
  }catch(Exception e){
   e.printStackTrace();
   System.out.println("发送失败!");
  }
 }
}

class PopupAuthenticator extends Authenticator{ 
 private String username,password;
 
 public PopupAuthenticator(String username,String password){
  this.password=password;
  this.username=username;
 }
 protected PasswordAuthentication getPasswordAuthentication() {
  return new PasswordAuthentication(username,password);
 }
 
}

JavaMail库实现邮件发送功能详解 JavaMail库是一个开源的邮件处理库,它为Java应用程序提供了发送和接收电子邮件的功能。此库支持各种邮件协议,如SMTP、POP3、IMAP等,并提供了一系列用于邮件创建、解析、发送和接收的API。JavaMail库被广泛应用于企业应用、邮件客户端和各种需要邮件处理功能的场景中。在复杂的邮件应用中,可能需要创建自定义异常类来表示特定的业务逻辑错误。例如,我们可能需要一个自定义的来处理认证失败的情况。// 可以添加更多的构造函数和自定义方法。 阅读详情

相关推荐

HCLR-Net: 混合对比学习正则化与局部随机扰动用于水下图像增强

独特贡献在于开发了一种处理负样本的新策略,既保留了负样本的统计特性,又防止网络过度剖析这些样本中的特征信息。通过根据每个通道特征的重要性对模型进行加权,我们可以增强富含上下文信息的通道,从而获得更准确、更详细的特征表示。AHA 模块利用垂直方向上的 Avgpool 和水平方向上的 Maxpool 来捕捉远程依赖关系和准确的位置信息,从而有效确定不同方向上的特征退化。对比学习策略通常旨在最小化正样本之间的欧氏距离,使预测图像更接近理想图像,同时最大化负样本与预测图像之间的距离,使它们进一步远离非理想表征。

G-Howe的博客 1456

【转】javamail-基于SMTP的JAVA邮件发送程序!

正好遇到这方面的问题,写出来,分享一下。 这个程序没有使用JavaMail API,而是根据SMTP协议的要求直接处理协议的细节发送邮件,虽然比较麻烦了一些,但是对了解邮件协议的细节很有帮助的。 本文分两部分,第一部分是SMTP命令介绍(这个从别的地方抄的,嘿嘿);第二部分通过一个实例真正理解一下发送邮件的过程。 一:SMTP 命令简介 什么是 SMTP SMTP (Simple Mail Transfer Protocol) : 电子邮件从客户机传输到服务器或从某一个服务器传输到另一个服务器使用的传输协

loike的专栏 1267

BMS | 从一串到几百串硬件架构简介

锂电池在生活中越来越多的方面扮演能源的角色,除了大家熟知的电动汽车行业,在一些消费类,工业类电子产品比如手机,电动自行车,电动工具中都有应用,追本溯源今天我们一起来学习下最基础的BMS架构。 1~4串架构 以S8241为代表的无通信/无固件/模拟器件 可实现过充保护、过放保护、过流/短路,参数由器件后缀代码决定;通信类手持设备供电系统;1~4节电池保护板架构 如图使用S-8241系列保护IC,一对充放电MOS管控制充放电的回路的切断和接通,系统供电来自于电芯电压,VM引脚用于检测过...

ningvay的博客 9917

javamail-基于SMTP的JAVA邮件发送程序!

正好遇到这方面的问题,写出来,分享一下。这个程序没有使用JavaMail API,而是根据SMTP协议的要求直接处理协议的细节发送邮件,虽然比较麻烦了一些,但是对了解邮件协议的细节很有帮助的。本文分两部分,第一部分是SMTP命令介绍(这个从别的地方抄的,嘿嘿);第二部分通过一个实例真正理解一下发送邮件的过程。一:SMTP 命令简介什么是 SMTPSMTP (Simple Mail

5530

偏差平方和说明什么_共同方法偏差检验之潜在误差变量控制法的Amos操作

潜在误差变量控制法是在结构方程模型中,将共同方法偏差作为一个潜变量加入模型,如果在包含方法偏差潜变量情况下模型的显著拟合度优于不包含共同方法偏差潜变量的情况,那么共同方法偏差效应就得到了检验,包含共同方法偏差潜在变量的模型,对于预测与效标变量关系的估计则控制了共同方法偏差。具体操作如下:因为这个过程也是基于因子分析的基础上进行的,关于绘制模型以及运行等过程不再介绍,请参考前面关于“合成信度 ”的相...

weixin_28730927的博客 2363

PLL Performance,Simulation and Design 4th学习笔记——Chapter1

Chapter1:基本PLL概述 VCO:Voltage-Controlled Oscillator压控振荡器,对于给定的一个输入电压,输出特定频率的振荡信号。 PLL:Phase-Locked Loops锁相环,输出特定频率,特定相位的振荡信号。 基本PLL操作和术语 基本模块 基本模块 输入 输出 传输函数 说明 XTAL - 参考频率ϕref\phi_{ref}ϕref​ - 稳定的晶振提供输入参考频率(这里用相位,便于理解鉴相器) R Counter ϕref\phi_{ref

张硕的博客 1551

【JavaMail】Java中发送邮件

我们要在程序中发送邮件,就必须有SMTP服务器,可以选择网易、Gmail等邮箱,并开启POP3/SMTP服务,用于充当我们的SMTP服务器,也可以自己搭建一个SMTP服务器。可以看到,这段代码构建TextPart的时候,格式支持HTML代码,如果要在邮件中展示图片,只需要在其中构造图片标签即可。也就是说,发送邮件一般有SMTP协议,接收邮件常用的有两种协议(POP3、IMAP)网易邮箱中就提供了这两种组合给用户选择。Java开发中,经常用sun公司的。组件来进行邮件的发送。

神也在Cpoy 5456

LatentSync:开源数字人唇形同步技术的实战部署与优化指南

本文详细介绍了开源数字人唇形同步工具LatentSync的实战部署与优化全流程。从核心原理(潜在扩散模型与TREPA技术)解析,到手把手完成环境搭建、模型获取及首次推理。文章深入探讨了自定义素材处理、关键参数调优(如guidance_scale),并提供了显存不足、人脸检测失败等常见问题的解决方案与性能优化技巧,旨在帮助用户高效部署并提升生成效果。

9o8p7i6u5y的博客 1004

Javamail发送邮件后并保存邮件到已发送

前言 最近北京暴雨,不知道为什么,特喜欢下雨天,下雨天适合睡觉,同样也适合写作! 需求分析 最近有个需求是将发送的邮件保存到已发送,一般来说最简单的做法是在服务器上配置,但是产品说,很多用户不知道这个选项,最好技术来实现,好吧,既然这样说了,干就完了! 查看JavaMail Api文档 邮件是在邮件服务器上存储的,邮件服务器上建立了各种的文件夹,比如INB

托米每天美滋滋 1万+

YOLOV8主干改进方法:C2f-Dual——DualConv轻量化双卷积设计(附改进代码)

DualConv是一种创新的卷积网络结构,旨在构建轻量级的深度神经网络。它通过结合3×3和1×1的卷积核处理相同的输入特征映射通道,优化了信息处理和特征提取。DualConv利用组卷积技术高效排列卷积滤波器,大大降低了计算成本和参数数量。

m0_74890428的博客 4698

Linux C/C++ or 嵌入式面试之《C/C++笔面试系列》(10) C++ 前置后置增减运算符重载形式与比较

C语言的++、–运算符在此不讨论。 文章目录1、前置后置增减运算符重载的形式2、前置和后置运算符的性能比较 1、前置后置增减运算符重载的形式 自增运算符“++”和自减运算符“–”分别包含两个版本。即运算符前置形式(如 ++x)和运算符后置形式(如 x++),这两者进行的操作是不一样的。因此,当我们在对这两个运算符进行重载时,就必须区分前置和后置形式。C++根据参数的个数来区分前置和后置形式。如果按照通常的方法来重载 ++ 运算符(即作为成员函数重载时不带参数,或者作为非成员函数重载时带有一个参数),那么重载

二进制君 5830

javamail——邮件发送

三种邮件发送

Hoorus的窝 4613

华为OD机试新系统真题 【查找最佳充电策略】

华为OD机试 新系统真题【查找最佳充电策略】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【查找最佳充电策略】多语言题解。

qq_45776114的博客 430

JavaMail发送邮件

请注意,发送邮件的具体实现方式可能因邮件服务器的不同而有所差异。这个地方有个问题, 就是。, 这个地方不细说了直接。

qq_37038626的博客 4915

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

JavaMail之发送邮件+接收邮件

1.JavaMail介绍 JavaMail 是sun公司(现以被甲骨文收购)为方便Java开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮件协议,如SMTP,POP3,IMAP,还有MIME等。我们在使用JavaMail API 编写邮件时,无须考虑邮件的底层实现细节,只要调用JavaMail 开发包中相应的API类就可以了。 2.JavaMail API JavaMail API按照功能分为三类: 1.创建和解析邮件的API 2.发送邮件的API 3.接收邮件的A

ilove_story的博客 1889

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

用Javamail编写邮件发送代码

        用java编写邮件发送模块,有很多实现方法,最基本的就是用socket,j实现的原理比较简单,首先建立和邮件服务器的Socket连接,然后与服务器进行Handshake,接着发送smtp指令,并封装邮件体,发送。Internet上和许多java书中都有此类例子。       但这种方式实现起来比较麻烦,并且会导致类似如下这种令人反胃的代码:sendRequest("MAIL

AmethystFX的专栏 1294

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

JavaMail邮件发送

文章目录邮件协议下载jar发送邮件创建邮件会话(Session)Properties 属性开启调试模式创建邮件内容多内容以及图片/附件发送邮件完整代码示例 邮件协议 常见的电子邮件协议有SMTP,POP3,IMAP4,它们都隶属于TCP/IP协议簇 默认状态下,分别通过TCP端口25,110和143连接 SMTP(Simple Mail Transfer Protocol),简单邮件传输协议 用于从源地址到目的地址传输邮件规范,通过它来控制邮件的中转方式 POP,邮局协议 负责从邮件服务器中检索电

砷碲 - Shendi 2155

JavaMail发送QQ邮件

JavaMail发送QQ邮件 1、开启QQ服务并获得授权码 授权码是QQ邮箱推出的,用于登录第三方客户端的专用密码 适用于登录以下服务:POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 QQ邮箱Web界面上方——设置——账户——找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务——开启所需要的服务 QQ官方

紫眸的博客 1889

JavaMail API发送邮件和接收邮件

为了打个比赛,写了1个星期的论文,终于回到java的怀抱了,暴风哭泣,导致博客都没怎么写,血亏。 Oracle公司制定了JavaMail API,它简化了邮件客户程序的开发,其实呢用telnet发也不难,只是很繁琐也就有了JavaMail,它封装了按照各种邮件通信协议,如IMAP、POP3和SMTP等与邮件服务器通信的细节,为Java应用程序提供了收发电子邮件的公共接口,用于开发邮件收发客户端。 在项目开发中经常使用maven来进行配置JavaMail.jar添加到项目中,但也随手放一个下载地址了:htt

qq_19841133的博客 1166

java 发送邮件 outlook_使用JavaMail发送邮件

一、邮件的相关概念邮件协议。主要包括:SMTP协议:Simple Mail Transfer Protocol,即简单邮件传输协议,用于发送电子邮件POP3协议:Post Office Protocol 3,即邮局协议的第三个版本,用于接收邮件IMAP协议:Internet Message Access Protocol,即互联网消息访问协议,是POP3的替代协议二、搭建James邮件服务器Jam...

weixin_29817227的博客 1906

Javamail发送邮件

Javamail发送邮件

技术宅,专注云原生、Go、Linux、Java等技术分享,原创文章、效率工具、实战解决方案!关注我,了解互联网动态,学 IT 不迷路 1523

JavaMail发送邮件功能实现

/*  在java版经常看到有人问如何用javamail发送邮件?如何接收邮件?如何访问多个文件夹等。问题零散,而历史的回复早已经淹没在问题的海洋之中。  本人之前所做过一个java项目,其中包含有WebMail功能,当初为用java实现而对javamail摸索了一段时间,总算有点收获。看到论坛中的经常有此方面的问题,因此把我的一些经验帖出来,希望对大家有些帮助。  此篇仅介绍用javamail实

每天=生命的最后一天 3001

用JavaMail API编写可带附件的邮件发送程序

利用Sun公司提供的JavaMail API可以很方便的开发邮件发送程序。也许你已经可以利用它来发送一段简单的文本了,但想不想使你的程序像OUTLOOK一样也能发送附件呢?本文在简单介绍了JavaMail之后,详细讲解了一段完整的送信的JavaBean及一个十分轻巧的servlet。 (没有装载JavaMail API的读者,可以到此站点下载,并按照Readme.txt设置好ClassPath

编程の浪子的专栏 2202
上一篇: 基于SMTP的JAVA邮件发送程序!
下一篇: 基于POP3的JAVA邮件接收程序!(与上次的发送程序配套)
Wasingmon
博客等级 码龄22年 9粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值