javamail使用方法

JavaMail API包及其使用方法指南 本文还有配套的精品资源,点击获取 简介:JavaMail是Java开发者用来处理邮件的API,支持多种邮件协议和邮件处理功能。它依赖于 mail.jar 和 activation.jar 两个核心库文件,分别用于邮件操作和数据对象处理。介绍如何设置和使用JavaMail API来发送和接收邮件,以及如何结合其他库来处理特定类型的邮件内容。 ... 阅读详情

首先需要下载两个jar包,

一个是mail.jar,下载地址:http://www.javasoft.com/products/javamail/

另一个是activation.jar包,地址:http://java.sun.com/beans/glasgow/jaf.html

并设置到classpath中,

基本代码如下


package groupsms;

import java.util.Properties;
import java.util.Date;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
//import SendMail.Email_Autherticatorbean;

/**
 *
 * @author sweater
 * @version 1.0, 09/01/04
 * @since   JDK1.4.2
 *
 * 利用JavaMail,发送电子邮件
 *
 */
public class SendMail{
 public String to;
 public String from;
 public String subject;
 public String mailhost;
 public String content;
 public String user;
 public String password;
 public String cc;
 public String bcc;
 
    public SendMail(String to,String from,String subject,String mailhost,
                    String content,String user,String password,String cc,
                    String bcc){
  this.to = to;
  this.from = from;
  this.subject = subject;
  this.mailhost = mailhost;
  this.content = content;
  this.user = user;
  this.password = password;
  this.cc = cc;
  this.bcc = bcc;
  
       /*
     System.out.println(user);
     System.out.println(password);
     System.out.println(subject);
     System.out.println(mailhost);
     System.out.println(to);
     System.out.println(from);
  */
 }
  
  
 public int sendMailBySMTP(){
  int flag = -1;
  //MIME邮件对象
  MimeMessage mimeMsg = null;
        //邮件会话对象
  Session session = null;
  try {
   Properties props = System.getProperties();  //获得系统属性
   props.put("mail.smtp.host", mailhost);      //设置SMTP主机
   props.put("mail.smtp.auth","true");         //设置身份验证为真,若须身份验证则必须设为真

   //获得邮件会话对象
   //session = Session.getDefaultInstance(props,null);
   //注意下面这行的 Session.getDefaultInstance 方法的第二个参数
   session = Session.getDefaultInstance(props, new Email_Autherticatorbean(user, password));
   //创建MIME邮件对象
   mimeMsg = new MimeMessage(session);
   //设置发信人
   mimeMsg.setFrom(new InternetAddress(from));
   //设置收信人
   if(to!=null){
    mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
   }
   //设置抄送人
   if(cc!=null){
    mimeMsg.setRecipients(Message.RecipientType.CC, InternetAddress.parse(cc));
   }
   //设置暗送人
   if(bcc!=null){
    mimeMsg.setRecipients(Message.RecipientType.BCC, InternetAddress.parse(bcc));
   }
   //设置邮件主题
   mimeMsg.setSubject(subject,"GBK");
   //设置邮件内容
   mimeMsg.setText(content,"GBK");
   //发送日期
   mimeMsg.setSentDate(new Date());
   //发送邮件
   Transport.send(mimeMsg);
   
   flag = 120;
   //System.out.println( "email send!");
  }catch(MessagingException msgingE){
   flag = 121;
   System.out.println(msgingE.getMessage());
  }

  return flag;
 }

 class Email_Autherticatorbean extends javax.mail.Authenticator{
       private String m_username = null;
       private String m_userpass = null;
       
       public void setUsername(String username){
         m_username = username;
       }
       
       public void setUserpass(String userpass){
         m_userpass = userpass;
       }

       public Email_Autherticatorbean(){
         super();
       }

       public Email_Autherticatorbean(String username, String userpass){
         super();
         setUsername(username);
         setUserpass(userpass);
       }
       
       //一定要有这个方法,它是在需要身份验证时自动被调用的
       public PasswordAuthentication getPasswordAuthentication(){
         return new PasswordAuthentication(m_username,m_userpass);
       }
    }
   
 public static void main(String[] args) {
  SendMail sm = new SendMail("
sswt@163.com,sswt@163.com","sswt@163.com","sswt@163.com","smtp.163.com",
         "smtp.163.com","sswt","密码","
sswt@163.com","sswt@163.com");
  
 }

}

 

 

技术前沿:半导体前道检测和量测设备修复技术 半导体前道检测设备是目前除光刻机外,国产渗透率较低的环节之一,近年来我国初步实现国产突破。前道检测相对后道检测环节壁垒更高,国内多家涉及后道测试,涉及前道检测和中道检测相对较少。 阅读详情

相关推荐

国土变更调查中六类拓扑错误的成因分析与高效修复实践

本文深入分析了国土变更调查中六类拓扑错误的成因,包括边界不一致和不规则图形等常见问题,并提出了高效的自动化修复实践。通过智能咬合算法、引力-斥力平衡模型等核心技术,显著提升了修复效率,节省人工质检时间70%。文章还分享了实战中的避坑指南和黄金法则,为相关从业人员提供了宝贵经验。

weixin_29202213的博客 359

JAVAMAIL发送邮件方法

在JAVAMAIL中一般要带有ACTIVATION包 也就是JAF框架我们这里主要记录一下实现文件发送带附件功能的方法,之中就要用多ACTIVATION。前部很简单为Properties props = new Properties();props.put("mail.smtp.host","..");props.put("mail.smtp.auth","true");Session sessi

cclin1983的专栏 845

MIPI video mode 和 command mode 的区别

1、何为LCD RAM? LCD 是指字面意思是液晶显示屏(Liquid Crystal Display), 而RAM: 随机存取存储器(Random-Access Memory),两者完全是风马牛不相及的东西。 下图是一个标准的LCD的爆炸图(不含TP),请注意图中红色mark的地方:控制IC-- LCD的大脑。所谓的LCD RAM自然是指此大脑是否包含RAM. 题外话<不感兴趣的...

精诚所至 4690

JavaMail中文附件的处理方法

JavaMail能很好的支持中文,但在测试过程中发现使用JavaMail发带有中文文件名的 附件时,文件名是乱码,经测试与查看源文件发现,是在JavaMail包里的一个写邮件 的方法没有考虑国际化因素,对双字节或多字节的字符没有考虑。即在 com.sun.mail.util.LineOutputStream调用 com.sun.mail.util.ASCIIUtility.getBytes(Str

windancery的专栏 1433

要配置西门子G120XA变频器实现**端子启停**和**Modbus RTU(485)频率给定

如有问题,可通过STARTER软件在线诊断Modbus通讯状态。要配置西门子G120AX变频器实现。

微:13763355074 4844

C#实战:基于ONNX与SCRFD/ArcFace的高效人脸识别系统开发

本文详细介绍了如何在C#环境中,利用ONNX Runtime高效部署SCRFD人脸检测与ArcFace人脸识别模型,构建一个完整的、高性能的人脸识别系统。内容涵盖环境搭建、模型推理、人脸对齐、特征提取等核心模块,并提供了从Demo到生产系统的优化思路与实战代码,为.NET开发者提供了一套开箱即用的解决方案。

weixin_29061821的博客 488

javamail —— 自己封装的框架和使用方法

javamail框架 package com.javamail; import java.util.Date; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Message.RecipientTy...

weixin_43234451的博客 956

告别U盘!在Ubuntu 22.04上从零搭建PXE网络装机服务器(支持UEFI/Legacy双启动)

本文详细介绍了在Ubuntu 22.04上搭建PXE网络装机服务器的完整流程,支持UEFI/Legacy双启动模式。通过配置DHCP、TFTP和HTTP服务,实现无需U盘的高效批量系统部署,解决传统安装方式的介质依赖、版本控制和时间成本问题,显著提升机房维护和设备部署效率。

weixin_42569329的博客 249

javamail的使用时可能产生的一些异常及处理方法

1、 JavaMail的java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream错误 ava.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream java.lang.NoClassDefFoundError: com/sun/acti

黄俊东的专栏 2236

TIA博途V15.1实战:用PLCSIM Advanced V2.0模拟Modbus TCP/IP通信(附完整DB块配置)

本文详细介绍了如何在TIA博途V15.1环境中,利用PLCSIM Advanced V2.0软件仿真S7-1500 PLC的Modbus TCP/IP通信功能。通过实战步骤,重点解析了MB_SERVER指令调用、连接参数(CONNECT)配置以及核心数据块(DB)的映射方法,并附上了完整的DB块配置示例,帮助工程师在无物理硬件条件下高效完成通信逻辑的验证与调试。

m2n3o4p5的博客 408

YOLOv11改进策略【SPPF】| 将特征金字塔池化修改为:SPPCSPC,提升模型的特征提取能力和计算效率。

本文记录的是。YOLOv7中的SPPCSPC(Spatial Pyramid Pooling Cross Stage Partial Connections)模块是一种结合了(SPP)和(CSP)的改进结构,本文将其添加到YOLOv11中,

Limiiiing的博客 1820

【Java】JavaMail 554错误解决方法

【Java】JavaMail 554错误解决方法

kodmoqn的博客 286

【STK】手把手教你利用STK进行光电红外仿真04-STK/EOIR模块的实战操作1航天器星载相机对LEO卫星成像

今天引入一个实际的场景,帮助大家完成对于这个模块的理解与运用。

weixin_44184852的博客 2417

使用javamail发信过程中的一些问题及解决方法

今天在研究javamail发信的过程中,出现了一些小问题,现总结如下,以免后来者走些不必要的弯路,先把完整的能够正常运行的代码示例粘贴如下: 发邮件源代码: package com.hyq.test; import java.util.Properties; import javax.mail.*; import javax.mail.internet.*; public class

ITRanen的专栏 1030

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

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

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

使用JavaMail发送邮件乱码的两种解决方法

使用JavaMail发送邮件乱码的两种解决方法 使用JavaMail发送邮件激活码时,邮件的中文显示如下: 搜了一个多小时,找到两种解决方法 1.构造MimeMessageHelper时设置编码格式 @Resource private JavaMailSender javaMailSender; @Test public void mimeMailTest() throws Mes...

weixin_44055360的博客 4398

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

javamail 收邮件遇到的问题及解决方法

1.java.io.UnsupportedEncodingException 当使用 getContent() 时,文本主体部分(例如主类型是“text”的主体部分)返回 Unicode 字符串对象。通常,这些主体部分内部用某些非 Unicode 字符集保持文本数据。JavaMail(通过 "text/html" DataContentHandler)试着将那些数据转换成 Unicode 字符串...

486

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

JavaMail邮件主题乱码的解决方法

很多朋友都使用过JavaMail进行邮件发送,在邮件正文中的乱码容易解决。但邮件主题的乱码无论怎样转码总是显示一堆乱码。到底应该怎么处理呢? JavaMail中的邮件主题需要进行BASE64编码,格式形如: =?GB2312?B?xPq1xMPcwuvS0b6t1tjWw6Osx+u+ob/stcfCvKOssqLQ3rjEw9zC66Oh?= 所以,直接使用msg.setSubject(

鲤鱼商城 4188

JavaMail发邮件出现的异常解决方法

学习用javamail发邮件的时候突然出现了一个异常javax.mail.AuthenticationFailedException: failed to connect at javax.mail.Service.connec 也就是连接失败的意思,其实是因为我们的发送邮箱没有开启pop3/smtp服务, 下图是搜狐邮箱的开启图,只要打勾就行,其他的邮件一样。 pop3,全称 post offi...

中森明菜的博客 1480

java中javamail收发邮件实现方法

java中javamail收发邮件实现方法 这篇文章主要为大家详细介绍了java中javamail收发邮件实现方法,实例分析了javamail的使用方法与相关注意事项,非常具有实用价值,感兴趣的小伙伴们可以参考一下 概述 1、邮件相关的标准 厂商所提供的 JavaMail 服务程序可以有选择地实现某些邮件协议,常见的邮件协议包括: SMTP(Simple Mail T

qq1042921106的博客 1058

利用javaMail发送邮件的方法

import java.util.Date;import java.util.Properties;import javax.activation.DataHandler;import javax.activation.FileDataSource;import javax.mail.Address;import javax.mail.Authenticator;import...

178

java javamail_Java使用JavaMail发送邮件的方法

本文实例讲述了Java使用JavaMail发送邮件的方法。分享给大家供大家参考,具体如下:代码一、Email_Autherticator.java 服务器验证代码import javax.mail.Authenticator;import javax.mail.PasswordAuthentication;public class Email_Autherticator extends Authe...

weixin_34337678的博客 335

javamail的getContent()抛出UnsupportedEncodingException的解决方法

当使用 getContent() 时,文本主体部分(例如主类型是“text”的主体部分)返回 Unicode 字符串对象。通常,这些主体部分内部用某些非 Unicode 字符集保持文本数据。JavaMail(通过 "text/plain" DataContentHandler)试着将那些数据转换成 Unicode 字符串。基础 JDK 的字符集可用于做这种工作。如果 JDK 不支持特别的字符集,那

邃森泓蛟的专栏 1万+

javamail中Transport.send(Message msg) 方法是同期的?

有人问我javamail中Transport.send(Message msg) 方法是不是同期的?这个问题我自己也没仔细研究过,也不清楚。比如代码片段:SendMail.java for (int i = 0; i    Message msgi;    ・・・   Transport.send(msgi);} 在上面的处理中Transport.send(

步行者的专栏 5214

java mail 主题 乱码_JavaMail邮件主题乱码的解决方法

很多朋友都使用过javaMail进行邮件发送,在邮件正文中的乱码容易解决。但邮件主题的乱码无论怎样转码总是显示一堆乱码。到底应该怎么处理呢?JavaMail中的邮件主题需要进行BASE64编码,格式形如:=?GB2312?B?xPq1xMPcwuvS0b6t1tjWw6Osx+u+ob/stcfCvKOssqLQ3rjEw9zC66Oh?=http://www.gaodaima.com/41119...

weixin_35810223的博客 772
上一篇: struts中文问题
下一篇: Javamail操作指南
sswt
博客等级 码龄24年 1粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值