在java中发送Email自我总结

Java Email(实现邮件发送) 阅读详情
 

   //首先是一个信息类

package com.util.mail;

/** 
 * 发送邮件需要使用的基本信息 
 */
import java.util.Properties;

public class MailSenderInfo {
 // 发送邮件的服务器的IP和端口
 private String  mailServerHost;
 private String mailServerPort = "25";
 // 邮件发送者的地址
 private String fromAddress;
 // 邮件接收者的地址
 private String toAddress;
 // 登陆邮件发送服务器的用户名和密码
 private String userName;
 private String password;
 // 是否需要身份验证
 private boolean validate = false;
 // 邮件主题
 private String subject;
 // 邮件的文本内容
 private String content;
 // 邮件附件的文件名
 private String[] attachFileNames;

 /**
  * 获得邮件会话属性
  */
 public Properties getProperties() {
  Properties p = new Properties();
  p.put("mail.smtp.host", this.mailServerHost);
  p.put("mail.smtp.port", this.mailServerPort);
  p.put("mail.smtp.auth", validate ? "true" : "false");
  return p;
 }

 public String getMailServerHost() {
  return mailServerHost;
 }

 public void setMailServerHost(String mailServerHost) {
  this.mailServerHost= mailServerHost;
 }

 public String getMailServerPort() {
  return mailServerPort;
 }

 public void setMailServerPort(String mailServerPort) {
  this.mailServerPort = mailServerPort;
 }

 public boolean isValidate() {
  return validate;
 }

 public void setValidate(boolean validate) {
  this.validate = validate;
 }

 public String[] getAttachFileNames() {
  return attachFileNames;
 }

 public void setAttachFileNames(String[] fileNames) {
  this.attachFileNames = fileNames;
 }

 public String getFromAddress() {
  return fromAddress;
 }

 public void setFromAddress(String fromAddress) {
  this.fromAddress = fromAddress;
 }

 public String getPassword() {
  return password;
 }

 public void setPassword(String password) {
  this.password = password;
 }

 public String getToAddress() {
  return toAddress;
 }

 public void setToAddress(String toAddress) {
  this.toAddress = toAddress;
 }

 public String getUserName() {
  return userName;
 }

 public void setUserName(String userName) {
  this.userName = userName;
 }

 public String getSubject() {
  return subject;
 }

 public void setSubject(String subject) {
  this.subject = subject;
 }

 public String getContent() {
  return content;
 }

 public void setContent(String textContent) {
  this.content = textContent;
 }
}

     //验证用户名,密码等信息的类

 package com.util.mail; 
 
import javax.mail.*; 
   
public class MyAuthenticator extends Authenticator{ 
    String userName=null; 
    String password=null; 
      
    public MyAuthenticator(){ 
    } 
    public MyAuthenticator(String username, String password) {  
        this.userName = username;  
        this.password = password;  
    }  
    protected PasswordAuthentication getPasswordAuthentication(){ 
        return new PasswordAuthentication(userName, password); 
    } 
    public static void main(String[] args){ 
        //这个类主要是设置邮件 
     MailSenderInfo mailInfo = new MailSenderInfo();  
     mailInfo.setMailServerHost("smtp.126.com");  
     mailInfo.setMailServerPort("25");  
     mailInfo.setValidate(true);  
     mailInfo.setUserName("wjmgood@126.com");      //发件人邮箱
     mailInfo.setPassword("***********");           //发件人邮箱的密码
     mailInfo.setFromAddress("wjmgood@126.com");  
     mailInfo.setToAddress("wjmgood@163.com");  
     mailInfo.setSubject("设置邮箱标题");  
     mailInfo.setContent("设置邮箱内容,%%%%%%%%%%%%%%%%");  
        //这个类主要来发送邮件 
     SimpleMailSender sms = new SimpleMailSender(); 
     sms.sendTextMail(mailInfo);//发送文体格式  
       //  sms.sendHtmlMail(mailInfo);//发送html格式 
    } 
} 

 

 

package com.util.mail;

import java.util.Date;
import java.util.Properties;

import javax.mail.Address;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class SimpleMailSender {
 public boolean sendTextMail(MailSenderInfo mailInfo) {
  MyAuthenticator authenticator = null;
  Properties pro = mailInfo.getProperties();
  if (mailInfo.isValidate()) {
   authenticator = new MyAuthenticator(mailInfo.getUserName(),
     mailInfo.getPassword());
  }
  Session sendMailSession = Session
    .getDefaultInstance(pro, authenticator);
  try {
   Message mailMessage = new MimeMessage(sendMailSession);
   Address from = new InternetAddress(mailInfo.getFromAddress());
   mailMessage.setFrom(from);
   Address to = new InternetAddress(mailInfo.getToAddress());
   mailMessage.setRecipient(Message.RecipientType.TO, to);
   mailMessage.setSubject(mailInfo.getSubject());
   String mailContent = mailInfo.getContent();
   mailMessage.setText(mailContent);
   return true;
  } catch (MessagingException ex) {
   ex.printStackTrace();
  }
  return false;
 }

 public static boolean sendHtmlMail(MailSenderInfo mailInfo) {
  MyAuthenticator authenticator = null;
  Properties pro = mailInfo.getProperties();
  if (mailInfo.isValidate()) {
   authenticator = new MyAuthenticator(mailInfo.getUserName(),mailInfo.getPassword());
  }
  Session sendMailSession = Session.getDefaultInstance(pro, authenticator);
  try {
   Message mailMessage = new MimeMessage(sendMailSession);
    Address from = new InternetAddress(mailInfo.getFromAddress());
   mailMessage.setFrom(from);
     Address to = new InternetAddress(mailInfo.getToAddress());
   mailMessage.setRecipient(Message.RecipientType.TO, to);
   mailMessage.setSubject(mailInfo.getSubject());
    BodyPart html = new MimeBodyPart();
   html.setContent(mailInfo.getContent(), "text/html; charset=utf-8");
   mainPart.addBodyPart(html);
    mailMessage.setContent(mainPart);
   return true;
  } catch (MessagingException ex) {
   ex.printStackTrace();
  }
  return false;
 }
}

 

使用Apache commons轻松发送Email 最近项目上需要使用javamail发送邮件,在网上搜索了一些资料,发现Apache common下有个Email组件,对javamail进行了封装,灰常的好用。      1.加入maven坐标依赖 org.apache.commons commons-email 1.3.3 阅读详情

相关推荐

基于Java Email的邮件发送

然后我们通过JavaMailAPI连接到SMTP服务器上,连接SMTP服务器时,需要准备一个Properties对象,填入相关信息,最后获取Session实例,如果服务器需要认证,还需传入一个Authenticator对象,并返回指定的用户名和口令。假设我们准备使用自己的邮件地址发送邮件,在发送邮件前,我们首先要确定作为MTA的邮件服务器地址和端口号,邮件服务器的地址通常是smtp.***.com,端口号由邮件服务商确定。电子邮件的发送过程也是类似的,只不过是电子邮件是从用户电脑的邮件软件,例。......

m0_66947503的博客 2068

java+email+发送exlce_java实现发送email小案例

这是一个小的发送emai的案例,供大家参考,具体内容如下代码里面放了很多注解,这里多说无益。发送邮件实体类:package com.yqx.emaildemo.demo;import lombok.Data;import org.apache.commons.mail.EmailAttachment;import java.util.List;/*** 发送邮件实体类** @author Yang...

weixin_42175516的博客 7368

Apache Commons Email库快速实现Java邮件发送

本文还有配套的精品资源,点击获取 简介:介绍了在IT行业中发送电子邮件的常见场景,以及如何使用Apache Commons Email库简化Java邮件发送过程。该库能够通过封装SMTP协议,简化电子邮件的发送工作,包括发送带有附件和HTML内容的邮件。同时,提供了 SendMail.java 示例文件,展示了如何通过几行代码实现邮件发送功能,并处理邮件发送过...

weixin_42608299的博客 6777

用Java实现发送邮件——Java Email

用Java实现发送邮件——Java Email

qq_64271154的博客 1万+

Java邮件发送库:commons-email与activation实战指南

当标准的内容处理器无法满足特定需求时,可以编写自定义内容类型处理器来处理特殊的MIME类型或实现特殊的处理逻辑。要创建自定义内容类型处理器,需要按照以下步骤:定义自定义DataContentHandler类:创建一个类并继承自类或其子类,例如。实现接口方法:根据需要实现getData和等接口方法,这样就可以使用你的自定义处理器来处理邮件内容。注册自定义处理器:在应用程序启动时,使用的register方法注册自定义的。

weixin_33557333的博客 5304

frp 内网渗透案例:端口转发 + 二级代理(深入理解 frp 在内网渗透中的技巧)

本文使用 vulnstack7 靶场作为测试环境,解释 frp 内网渗透特殊使用姿势,通过此案例来提高内网渗透能力。接下来的演示环境只做了以下修改。攻击者 vps 的 ip 修改为:192.168.72.162。DMZ 区域的 ubuntu 的 ip1 修改为:192.168.72.129。先引入问题,当我们控制了 DMZ 的 ubuntu 并且拿到第二层网络的 ubuntu 的 rce 后,会出现以下两个问题。如何搭建隧道让 ubuntu 反弹 shell 给攻击者 vps?

anddddoooo的博客 1763

java 如何实现发送邮件 email?

大家好,我是老马。大家日常开发,对于邮件发送应该能不陌生。本系列就让我们一起学习一下邮件相关的内容。

1057

COMSOL两相流(相场法)

COMSOL是一款功能非常强大的多物理场仿真软件,拥有可视化和后处理工具,可方便有效的展示您的仿真效果,具有灵活、高效、友好的特点,软件能够为用户提供各类工程问题的解决方案,从而帮助广大研究和工程人员能够在科研上取得新突破。 COMSOL可以实现声学、传热、流体力学、结构力学等方面的模拟仿真,具体模块如下图所示。 COMSOL软件设置流程 定义需要求解的问题类型:针对一个需要仿真的问题,需要先对问题进行分析;分析该问题用到哪些物理场,什么样的几何模型,以及如何设置研究等。该步骤可以使用COMSOL中的

weixin_47139559的博客 1万+

用Java发送Email

基于JavaMail发送邮件

m0_58743727的博客 1758

YOLOv11多模态融合实战:基于YOLOFuse的RGB与红外线(IR)协同检测技术解析

本文深入解析了YOLOv11多模态融合技术,重点介绍基于YOLOFuse框架的RGB与红外线(IR)协同检测方法。通过动态权重分配、跨模态特征对齐等创新设计,实现在低光照等复杂环境下的高精度目标检测,mAP提升高达37%。文章包含实战案例、训练技巧和部署方案,为计算机视觉开发者提供完整的多模态融合解决方案。

weixin_29038345的博客 290

【IIC通信】Chap.1(I2C)IIC通信原理、IIC读写时序详解

IIC通信以两根连线SDA、SCL实现了完善的全双工同步数据传送, 可以方便地构成多机系统和外围器件扩展系统。

Jie_MSD的博客 2万+

java发送邮件 java使用 commons-email 发送邮件 发送模板邮件,附件邮件

java发送邮件 java使用 commons-email 发送邮件 发送模板邮件,附件邮件 一、Commons Email 简介 1、Apache Commons Email :Commons Email旨在提供发送电子邮件的API。它构建在Java邮件API之上,其目的是简化。 2、官网: http://commons.apache.org/proper/commons-email...

HaHa_Sir的博客 2407

基于PyTorch的BP神经网络PID控制器动态调参实战

本文详细介绍了基于PyTorch的BP神经网络PID控制器动态调参实战,结合BP神经网络的自适应能力和PID控制算法的经典优势,实现工业控制中的高效参数调整。通过PyTorch实现BP-PID融合架构,包括网络设计、损失函数优化及动态调参技巧,显著提升控制性能,适用于温度控制、电机控制等场景。

weixin_29094775的博客 520

Java实现Email的发送

下面是公司用的发送EMAIL的基本代码,还不错挺好用,package com.capinfo.common.utils; import java.util.ArrayList; import java.util.List; import java.util.Properties; import javax.activation.DataHandler; import javax.activat

叶落伤城的专栏 1450

ANSYS拓扑优化基础实例

唐深51CAE 2018/6/10 拓扑优化在工程设计中,常用于机械结构概念设计和轻量化设计,ANSYS通用有限元分析软件提供了强大的拓扑优化功能,本文将通过一个简单实例进行展示。 一、赵州桥 赵州桥又称安济桥,坐落在河北省赵县洨河上,建于隋朝年间公元595年~605年,由著名匠师李春设计建造,距今已有约1500年的历史,是当今世界上现存最早、保存最完整的古代敞...

TQT_CAE的博客 6026

IC 笔试真题之吾见——华为实习(1)

前言 今天(2022 04 07)刚建立了一个专栏《IC真题之吾见》,准备记录一些IC真题的见解,为以后找工作做一点准备。 刷题绝不是目的,以题代练,以题代学。 题目来自师兄申请 华为实习“设计”岗位 的笔试真题。 见解大部分来自自己学习的理解,也有部分超纲知识是网络检索得到,希望可以多多在评论区留言交流,共同进步! 有问题的地方也希望可以直接批评指正! 后面也会同步更新此专栏! 1、下列有关时序分析的描述正确的是() A. recovery时间,是指异步控制信号在有效时钟沿到达之后必须保持

记录所学,分享知识,结识挚友 8636

java发送email

1.    首先配置需要的jar包   需要将mail.jar和commons-email.jar添加到我们的CLASSPATH中即可,如下图:    2.    发送普通邮件 [java] view plain copy /**   * 用org.apache.commons.mail发送普通

wky9421的博客 518

AUTOSAR进阶图解==>AUTOSAR_SWS_ADCDriver

本文深入解析了AUTOSAR ADC Driver的架构设计和技术实现。主要内容包括:1)ADC Driver在AUTOSAR分层架构中的定位及核心功能;2)详细的模块架构设计,涵盖初始化管理、组转换管理、优先级处理等核心子组件;3)全面的配置模型说明,包括主配置类、通用配置、通道配置等关键数据结构;4)状态机机制和操作序列分析。通过分层设计和标准化接口,ADC Driver实现了硬件抽象和软件解耦,提供了良好的可移植性和可维护性。

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 786

Java实现多线程发送 email 邮件

1. 首先引入依赖jar包 <!--apache email --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-email</artifactId> <version>1.4</version>

weixin_42091230的博客 1922

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Java发送Email

使用Java应用程序发送E-mail十分简单,下面主要演示,发送普通的Email;发送HTML类型的Email;发送带附件的Email。 一、    首先配置需要的jar包   我们需要将mail.jar和activation.jar 两个jar包添加到我们的CLASSPATH中,你可以在 JavaMail API和JAF(JavaActivation Framework)下载最

大鹏 1656

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Java Email以及发送Email附件

包含了:在JAVA中Email如何发送、发送Email附件以及把发送的图片显示到内容区域的例子

qq_45475528的博客 6133

老版QQ原生表情gif动态

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

使用 Apache Commons Email发送邮件就是这么简单的不能再简单了

想要通过程序发送邮件,首先需要有一个邮箱做为发件人,并开启POP3/SMTP服务,获取对应邮箱的授权码,不同的邮箱开启方式和位置不甚相同,以下以163邮箱和QQ邮箱为例说明,其余邮箱可以自行搜索开启方式。163邮箱进入邮箱首页,点击设置,选择下拉选项的“POP3/SMTP/IMAP”,点击进入 POP3/SMTP/IMAP 部分 ,点击“POP3/SMTP服务”后的【开启】,弹出页面,用绑定手机扫码发送短信,发送完毕后可获得授权码。QQ邮箱。

独泪了无痕 7534
上一篇: android四种加载模式 重点内容
下一篇: android实际项目中数据库的应用(增删改查)
AndroidDevWjm
博客等级 码龄15年 6粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值