注意:将jar包复制到web-info文件夹下lib:

activation.jar

mail.jar

//发送邮箱
 public static String sendEmail(String sendFrom,String sendTo,String passWord,String title,String count){
  try{
   
   String from =sendFrom.trim();//发送者
   String to =sendTo.trim();//接受者
   String subject =title.trim();//主题
   String content =count.trim();//内容
   String password =passWord.trim();//发送者邮箱密码
   String path="null";//附件的路径
   
   String mailserver ="smtp."+from.substring(from.indexOf('@')+1,from.length()); //在Internet上发送邮件时的代码(smtp服务器地址)

Properties prop = new Properties();
    prop.put("mail.smtp.host", mailserver);
    prop.put("mail.smtp.auth", "true");
    prop.put("mail.transport.protocol", "smtp");
    Session sess = Session.getDefaultInstance(prop);
    sess.setDebug(true);
    MimeMessage message = new MimeMessage(sess);
    message.setFrom(new InternetAddress(from)); // 给消息对象设置发件人
    //设置收件人
    String toArr[]=to.split(",");
    InternetAddress[] to_mail=new InternetAddress[toArr.length];
    for(int i=0;i<toArr.length;i++){
     to_mail[i]=new InternetAddress(toArr[i]);
    }
       message.setRecipients(Message.RecipientType.BCC,to_mail);
    //设置主题
    message.setSubject(subject);
    Multipart mul = new MimeMultipart(); // 新建一个MimeMultipart对象来存放多个BodyPart对象
    BodyPart mdp = new MimeBodyPart(); // 新建一个存放信件内容的BodyPart对象
    mdp.setContent(content, "text/html;charset=gb2312");
    mul.addBodyPart(mdp); // 将含有信件内容的BodyPart加入到MimeMulitipart对象中
    
    if(!"null".equals(path)){ //当存在附件时
     // 设置信件的附件(用本机上的文件作为附件)
     mdp = new MimeBodyPart(); // 新建一个存放附件的BodyPart
     String adjunctname = new String(path.getBytes("GBK"), "ISO-8859-1"); // 此处需要转码,否则附件中包括中文时,将产生乱码   
     path = (System.getProperty("java.io.tmpdir") + "/" + path).replace(
       "\\", "/");
     System.out.println("路径:" + path);
     FileDataSource fds = new FileDataSource(path);
     DataHandler handler = new DataHandler(fds);
     mdp.setFileName(adjunctname);
     mdp.setDataHandler(handler);
     mul.addBodyPart(mdp);
    }
    
    message.setContent(mul); // 把mul作为消息对象的内容
    message.saveChanges();
    
    Transport transport = sess.getTransport("smtp");
    // 以smtp方式登录邮箱,第1个参数是发送邮件用的邮件服务器SMTP地址,第2个参数为用户名,第3个参数为密码
    
    // qq邮箱POP3服务器(端口995)
    // SMTP服务器(端口465或587)

transport.connect(mailserver,from,password);
     transport.sendMessage(message, message.getAllRecipients());
     
     transport.close();
    
   
   return "success";
  
  } catch (Exception e) {
  e.printStackTrace();
   
   return "error";
  }
 }

使用java发送邮件sp自动发送邮件方法的更多相关文章

  1. java使用JMail通过QQ邮件服务器实现自动发送邮件

    前言:项目开发的过程中,我们项目需要一个自动发送邮件提醒的小功能,于是简单的研究了一下java的JMail来实现自动发送邮件的功能.已被后期需要参考. 一.准备 实现的原理很简单:发送人 , 中转的邮 ...

  2. PCB 自动发送邮件---加入表格实现方法

    先看一下手动发送邮件内容加入表格操作(下图所示),直接复制Excel内容,再粘贴到邮件内容中,就是这么便捷,如果我们想自动发送邮件,也实现同样的效果如果实现呢,在这里介绍2种方法: 一.读取Excel ...

  3. Jenkins配置自动发送邮件,成功!

    Jenkins自动发送邮件配置: 打开"系统管理"--"系统设置" 在"Jenkins Location"设置系统管理员地址(重要:不能省略 ...

  4. VBA控制outlook自动发送邮件(转)

    使用Excel VBA实现Outlook自动发送邮件 | 在工作上我们都会遇到批量发送邮件的情况,面对重复而规律性的工作,可以使用Excel的VBA实现自动批量化发送邮件.大大减小工作时间,提升工作效 ...

  5. java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板

    java 利用spring JavaMailSenderImpl发送邮件,支持普通文本.附件.html.velocity模板 博客分类: Java Spring   本文主要介绍利用JavaMailS ...

  6. python☞自动发送邮件

    一.SMTP 协议 SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式 二.smtplib ...

  7. 使用mutt自动发送邮件

    1.Mutt安装及环境配置 1.1.安装 sudo yum install mutt 比如你要设置邮件的发信人,需要做: sudo vim /etc/Muttrc set envelope_from= ...

  8. SQL SERVER 2008自动发送邮件(完整版)

    这两天都在搞这个东西,从开始的一点不懂,到现在自己可以独立的完成这个功能!在这个过程中,CSDN的好多牛人都给了我很大的帮助,在此表示十二分的感谢!写这篇文章,一是为了巩固一下,二嘛我也很希望我写的这 ...

  9. 【SSH网上商城项目实战25】使用java email给用户发送邮件

       转自: https://blog.csdn.net/eson_15/article/details/51475046 当用户购买完商品后,我们应该向用户发送一封邮件,告诉他订单已生成之类的信息, ...

随机推荐

  1. fmri的图像数据在matlab中显示,利用imagesc工具进行显示,自带数据集-by 西南大学xulei教授

    这里包含了这样一个数据集:slice_data.mat. 这个数据集中包含的mri数据是:64*64*25.共有25个slice.每个slice的分辨率是64*64. 程序非常简短: load sli ...

  2. erl0006 - erlang 查看进程状态,查看当前系统那些进程比较占资源

    http://lfstar.blog.163.com/blog/static/56378987201341115037437/ 查看哪些进程占用内存最高? > spawn(fun() -> ...

  3. setTimeout/setInterval

    //使用 setTimeout 时需注意,当该代码执行时,JS 会立即编译函数第一个参数“code” //所以该函数的第一个参数应该为:需要编译的代码.或者一个函数 //例1:setTimeout(& ...

  4. JS面向对象组件(二)--Javascript原型链

    原型链 : 实例对象与原型之间的连接,叫做原型链 –__proto__( 隐式连接 ),这就是原型链,平时我们是看不到的. 原型链的最外层 : Object.prototype function Aa ...

  5. HDU 5137 How Many Maos Does the Guanxi Worth

    How Many Maos Does the Guanxi Worth Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 512000/5120 ...

  6. LoadRunner学习记录--安装遇到的问题一

    安装过程中的出现了此计算机上缺少vc2005_sp1_with_atl_fix_redist 需要到这个目录下lrunner\En\prerequisites\vc2005_sp1_redist\ 手 ...

  7. [转]linux之less命令

    转自:http://www.cnblogs.com/peida/archive/2012/11/02/2750588.html less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux ...

  8. Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)

    Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...

  9. Python的descriptor (2)

    前面说了descriptor,这个东西其实和Java的setter,getter有点像.但这个descriptor和上文中我们开始提到的函数方法这些东西有什么关系呢? 所有的函数都可以是descrip ...

  10. 判断是否为BST

    递归的方法,用返回false的方法.中序遍历的想法很好,空间浪费.遍历的过程记录上一次的值进行比较. //题目描述 // //请实现一个函数,检查一棵二叉树是否为二叉查找树. //给定树的根结点指针T ...