知识大全 Java发邮件带附件测试通过

Posted

篇首语:于今腐草无萤火,终古垂杨有暮鸦。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java发邮件带附件测试通过相关的知识,希望对你有一定的参考价值。

Java发邮件带附件测试通过  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  package cn bric crm util;

  import java util Date;

  import java util Enumeration;

  import java util Properties;

  import java util Vector;

  import javax activation *;

  import javax mail Authenticator;

  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;

  import javax mail internet MimeUtility;

  import java io FileInputStream;

  import java io IOException;

  import java text ParseException;

  import java util ArrayList;

  import java util Date;

  import java util HashSet;

  import java util Iterator;

  import java util List;

  import java util Locale;

  import java util Set;

  import java util regex Pattern;

  /**

  * <p>

  * Title: 使用javamail发送邮件

  * </p>

  */

  public class MailUtils

  String to = ;// 收件人

  String from = ;// 发件人

  String host = ;// smtp主机

  String username = ;

  String password = ;

  String filename = ;// 附件文件名

  String subject = ;// 邮件主题

  String content = ;// 邮件正文

  Vector file = new Vector();// 附件文件集合

  /**

  * <br>

  * 方法说明 默认构造器 <br>

  * 输入参数 <br>

  * 返回类型

  */

  public MailUtils()

  

  /**

  * <br>

  * 方法说明 构造器 提供直接的参数传入 <br>

  * 输入参数 <br>

  * 返回类型

  */

  public MailUtils(String to String from String smtpServer

  String username String password String subject String content)

  this to = to;

  this from = from;

  this host = smtpServer;

  this username = username;

  this password = password;

  this subject = subject;

  ntent = content;

  

  /**

  * <br>

  * 方法说明 设置邮件服务器地址 <br>

  * 输入参数 String host 邮件服务器地址名称 <br>

  * 返回类型

  */

  public void setHost(String host)

  this host = host;

  

  /**

  * <br>

  * 方法说明 设置登录服务器校验密码 <br>

  * 输入参数 <br>

  * 返回类型

  */

  public void setPassWord(String pwd)

  this password = pwd;

  

  /**

  * <br>

  * 方法说明 设置登录服务器校验用户 <br>

  * 输入参数 <br>

  * 返回类型

  */

  public void setUserName(String usn)

  this username = usn;

  

  /**

  * <br>

  * 方法说明 设置邮件发送目的邮箱 <br>

  * 输入参数 <br>

  * 返回类型

  */

  public void setTo(String to)

  this to = to;

  

  /**

  * <br>

  * 方法说明 设置邮件发送源邮箱 <br>

  * 输入参数 <br>

  * 返回类型

  */

  public void setFrom(String from)

  this from = from;

  

  /**

  * <br>

  * 方法说明 设置邮件主题 <br>

  * 输入参数 <br>

  * 返回类型

  */

  public void setSubject(String subject)

  this subject = subject;

  

  /**

  * <br>

  * 方法说明 设置邮件内容 <br>

  * 输入参数 <br>

  * 返回类型

  */

  public void setContent(String content)

  ntent = content;

  

  /**

  * <br>

  * 方法说明 把主题转换为中文 <br>

  * 输入参数 String strText <br>

  * 返回类型

  */

  public String transferChinese(String strText)

  try

  strText = MimeUtility encodeText(new String(strText getBytes()

   GB ) GB B );

   catch (Exception e)

  e printStackTrace();

  

  return strText;

  

  /**

  * <br>

  * 方法说明 往附件组合中添加附件 <br>

  * 输入参数 <br>

  * 返回类型

  */

  public void attachfile(String fname)

  file addElement(fname);

  

  /**

  * <br>

  * 方法说明 发送邮件 <br>

  * 输入参数 <br>

  * 返回类型 boolean 成功为true 反之为false

  */

  public boolean sendMail()

  // 构造mail session

  Properties props = new Properties() ;

  props put( mail smtp host host);

  props put( mail smtp auth true );

  Session session = Session getDefaultInstance(props

  new Authenticator()

  public PasswordAuthentication getPasswordAuthentication()

  return new PasswordAuthentication(username password);

  

  );

  //Session session = Session getDefaultInstance(props);

  //      Session session = Session getDefaultInstance(props null);

  try

  // 构造MimeMessage 并设定基本的值

  MimeMessage msg = new MimeMessage(session);

  //MimeMessage msg = new MimeMessage();

  msg setFrom(new InternetAddress(from));

  //msg addRecipients(Message RecipientType TO address); //这个只能是给一个人发送email

  msg setRecipients(Message RecipientType BCC InternetAddress parse(to)) ;

  subject = transferChinese(subject);

  msg setSubject(subject);

  // 构造Multipart

  Multipart mp = new MimeMultipart();

  // 向Multipart添加正文

  MimeBodyPart mbpContent = new MimeBodyPart();

  mbpContent setContent(content text/;charset=gb );

  // 向MimeMessage添加(Multipart代表正文)

  mp addBodyPart(mbpContent);

  // 向Multipart添加附件

  Enumeration efile = file elements();

  while (efile hasMoreElements())

  MimeBodyPart mbpFile = new MimeBodyPart();

  filename = efile nextElement() toString();

  FileDataSource fds = new FileDataSource(filename);

  mbpFile setDataHandler(new DataHandler(fds));

  mbpFile setFileName(fds getName());

  // 向MimeMessage添加(Multipart代表附件)

  mp addBodyPart(mbpFile);

  

  file removeAllElements();

  // 向Multipart添加MimeMessage

  msg setContent(mp);

  msg setSentDate(new Date());

  msg saveChanges() ;

  // 发送邮件

  Transport transport = session getTransport( smtp );

  nnect(host username password);

  transport sendMessage(msg msg getAllRecipients());

  transport close();

   catch (Exception mex)

  mex printStackTrace();

  //          Exception ex = null;

  //          if ((ex = mex getNextException()) != null)

  //              ex printStackTrace();

  //         

  return false;

  

  return true;

  

  /**

  * <br>

  * 方法说明 主方法 用于测试 <br>

  * 输入参数 <br>

  * 返回类型

  */

  public static void main(String[] args)

  MailUtils sendmail = new MailUtils();

  sendmail setHost( );

  sendmail setUserName( se );

  sendmail setPassWord( bric );

  sendmail setTo( che );

  sendmail setFrom( se );

  sendmail setSubject( 你好 这是测试! );

  sendmail setContent( 你好这是一个带多附件的测试! );

  // Mail sendmail = new

  // Mail( du_jiang 你好 胃 你好吗? );

  sendmail attachfile( d:\\\\news rar );

  sendmail attachfile( d:\\\\jhjl rar );

  System out println(sendmail sendMail());

  

cha138/Article/program/Java/hx/201311/25753

相关参考

知识大全 qq邮件发的附件能不能每天增补重新发送 怎么样编辑增补

qq邮件发的附件能不能每天增补重新发送怎么样编辑增补?给领导发的邮件附件每天要增加内容前面的QQ邮箱新增撤回邮件功能确实,忙中难免出错,有时候邮件没想清楚就发了,让人后悔不已。现在,QQ邮箱新推出了撤

知识大全 为什么我的新浪邮箱里面收件夹里面没有附件标志?

为什么我的新浪邮箱里面收件夹里面没有附件标志?上面说的不完全,是邮件里面带有附件的,才有附件在下面显示,没有带有附件的,邮箱里面也没有附件显示,也没有链接。你可以自己给自己发一封带附件的邮件,你可以看

知识大全 Java发邮件(email.jar)的方法

Java发邮件(email.jar)的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我想在

知识大全 qq邮箱收到这样一封邮件,说我的邮箱账号平凡受到异常举报,还让下载附件升级,可是我最近几乎没用邮箱

qq邮箱收到这样一封邮件,说我的邮箱账号平凡受到异常举报,还让下载附件升级,可是我最近几乎没用邮箱你可以发邮件问问腾讯系统,一般在LOGO附近都会有邮件地址的或者就是可以去公共电脑室点击附件进行升级这

知识大全 Java发送邮件

Java发送邮件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  记得曾经学习用javamail发

知识大全 一套Java测试题 带答案

一套Java测试题带答案  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!试题指出下面语句没有编译错误

知识大全 outlook express 6.0如果附件是邮件的话,另存为后开启是整个邮箱,而不是邮件

outlookexpress6.0如果附件是邮件的话,另存为后开启是整个邮箱,而不是邮件?请问如何设定?急求重要把另存为后的邮件汇入,不要开启。QQ41977254qq邮箱群邮件如何设定不显示新回复,

知识大全 怎么将邮件中发来的附件直接用WPS或者Word打开

怎么将邮件中发来的附件直接用WPS或者Word打开?因为每次点击附件下面的下载时都会显示好多选择  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整

知识大全 存在开启邮件,不开启附件就传播的电脑病毒吗

存在开启邮件,不开启附件就传播的电脑病毒吗现在的电脑病毒更新太快,安全很重要所以要是想要保卫电脑的安全性的话,还是得安装防毒软体的你可以使用腾讯电脑管家,他能够全方位多维度保护账号安全,精确打击Dao

知识大全 QQ三国会员 邮件发送附件能发送三国币吗拜托各位大神

QQ三国会员邮件发送附件能发送三国币吗拜托各位大神  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!QQ