博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javamail 发送 带附件的 html邮件
阅读量:4078 次
发布时间:2019-05-25

本文共 1779 字,大约阅读时间需要 5 分钟。

/**

 *
 */
package com.tsts.oa.mail;

import java.util.Properties;

import javax.activation.DataHandler;

import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
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;

/**

 * @author sunyanan
 *
 */
public class SendHelper {

 public static void send() throws Exception {

  Properties prop = new Properties();
  prop.put("mail.smtp.host", "smtp.126.com");
  prop.put("mail.smtp.auth", "true");
  
  Session session =  Session.getDefaultInstance(prop, (new SendHelper()).new AT());
  
  session.setDebug(true);
  MimeMessage message = new MimeMessage(session);
  
  message.setFrom(new InternetAddress(""));
  message.setRecipient(Message.RecipientType.TO, new InternetAddress(""));
  message.setSubject("主题");
  
  BodyPart bodyPart = new MimeBodyPart();
  bodyPart.setContent("<a href=/"#/">内容</a>", "text/html;charset=gbk");
  
  BodyPart filePart = new MimeBodyPart();
  FileDataSource ds = new FileDataSource("c://a.txt"); // a.txt为附件地址,附件和发邮件程序位于一台服务器
  filePart.setDataHandler(new DataHandler(ds));
  
  Multipart part = new MimeMultipart();
  part.addBodyPart(bodyPart);
  part.addBodyPart(filePart);
  message.setContent(part);
  
  Transport.send(message);
  
 }

 /**

  * @param args
  */
 public static void main(String[] args) throws Exception {
  send();

 }

 
 class AT extends Authenticator {

  @Override

  protected PasswordAuthentication getPasswordAuthentication() {
   // TODO Auto-generated method stub
   return new PasswordAuthentication("", "xxxxxxxxxx");
  }
 }

}

 

这样就好说多了,如果是上传本地附件 自己增加一个上传功能 就好了

转载地址:http://tcini.baihongyu.com/

你可能感兴趣的文章
从UART到IIC到SPI我感觉是越来越好的
查看>>
ARM开发最大的难点就在于这个英文手册
查看>>
目前我觉得嵌入式应聘需要牢牢抓住两点,一个是各种串口通信协议,一个是freertos。
查看>>
我看有不少要求会USB的
查看>>
驱动的本质就是获取外设,或者传感器数据,也可以控制外设。
查看>>
linux驱动开发这块我觉得正点原子的视频讲得比华清的好
查看>>
我分析一下,其实linux的uart驱动写好了,所谓的ROS uart包应该是用户层app调用那个接口罢了。
查看>>
真正一个东西学深了是会喜欢上的 越学越有意思,学一个东西或者看书深入了也是到一个层面,不管那个东西找工作用不用的上,你都想深入学弄清楚弄透彻这样子。
查看>>
驱动开发分为一种如STM32的裸机驱动和linux驱动
查看>>
我现在明白什么叫总线了,就是一条线上挂了很多设备,比如IIC SPI就是这样的,通信之前要进行设备的选择。
查看>>
5种嵌入式经典总线协议精讲
查看>>
基于统一编址方案,我们就可以通过C语言的指针来寻址并修改存储器的地址,进而可以实现对相应外设寄存器的处理操作。
查看>>
还真有不少弄天猫精灵的,莫非天猫精灵真的可以做些嵌入式开发?
查看>>
FIFO就是 first in first out 先进先出
查看>>
我感觉嵌入式弄深了还是需要数电知识,这样可以理解得更为具体透彻。
查看>>
硬中断与软中断的区别
查看>>
我以前做东西的能力是够的,缺的是专业知识的积累。
查看>>
2020全球无人机五十强企业
查看>>
STM32的中断体系结构
查看>>
我现在回看,野火的STM32书,《跟工程师学嵌入式开发》,原子的STM32书,里面前几章都把那些重要的细节讲了!!
查看>>