Java发邮件带附件测试通过

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

  /**

  * <br>

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

  * 输入参数:String strText <br>

  * 返回类型:

  */

  public String transferChinese(String strText) {

  try {

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

  ”GB2312″), “GB2312”, “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/html;charset=gb2312”);

  // 向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”);

  transport.connect(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(“smtp.qiye.163.com”);

  sendmail.setUserName(“service@accfutures.com”);

  sendmail.setPassWord(“bric2008”);

  sendmail.setTo(“chengyue@accfutures.com,305597562@qq.com,chengli_68@163.com”);

  sendmail.setFrom(“service@accfutures.com”);

  sendmail.setSubject(“你好,这是测试!”);

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

  // Mail sendmail = new

  // Mail(“dujiang@sricnet.com”,”du_jiang@sohu.com”,”smtp.sohu.com”,”du_jiang”,”31415926″,”你好”,”胃,你好吗?”);

  sendmail.attachfile(“d:\\news.rar”);

  sendmail.attachfile(“d:\\jhjl.rar”);

  System.out.println(sendmail.sendMail());

  }

  }

[1][2]

无论如何,没有人有办法把自己抑或他人的刺拔掉。那是一碰便痛的软肋,

Java发邮件带附件测试通过

相关文章:

你感兴趣的文章:

标签云: