java 邮件发送与带附件的实现方法

java 邮件发送与带附件的实现方法
java邮件发送也一样,可以实现传入的参数有port地址、密码、姓名、谁发、发给谁、主题、正文内容、smtp地址、发送类型
等功能。
方法一

简单的JavaMail邮件发送
dev.firnow.com    时间 : 2009-04-05  作者:匿名   编辑:sky 点击:  683 [ 评论 ]
-
-

 

import javax.mail.*;
import java.util.*;
import javax.mail.internet.*;

 

/**
 * @author caoyx
 *
 */
public class MailTest {

 /**
  * 构造方法
  */
 public MailTest() {

 }

/**

*

*javamail发送测试

*/

  public void SendEmailTest() {

  Properties props教程 = new Properties();
  props.put("mail.smtp.host", "smtp.163.com");
 
  // 允许smtp校验
  props.put("mail.smtp.auth", "true");
  Session sendMailSession = Session.getInstance(props, null);

  try {
   Transport transport = sendMailSession.getTransport("smtp");
  
   //                             邮箱服务器            登陆邮箱用户名     登陆密码
   transport.connect("smtp.163.com",   "xxx",                 "xxx");
   Message newMessage = new MimeMessage(sendMailSession);

   // 设置mail主题
   String mail_subject = "邮件发送测试(mail标题)";
   newMessage.setSubject(mail_subject);

   // 设置发信人地址
   String strFrom = "xiangzi551@163.com";
   strFrom = new String(strFrom.getBytes(), "8859_1");
   newMessage.setFrom(new InternetAddress(strFrom));
   Address addressFrom[] = {
     new InternetAddress("xiangzi551@163.com"),
     new InternetAddress("xiangzi551@163.c dfgdom") };
  
   // 改变发件人地址
   newMessage.addFrom(addressFrom);
  
   // 设置收件人地址
   Address addressTo[] = { new InternetAddress("cyx_shzu@163.com") };
   newMessage.setRecipients(Message.RecipientType.TO, addressTo);

   // 设置mail正文
   newMessage.setSentDate(new java.util.Date());
  
   String mail_text = "邮件发送测试.来自: "+strFrom;
   newMessage.setText(mail_text);

   // 保存发送信息
   newMessage.saveChanges();
  
   // 发送邮件
   transport.sendMessage(newMessage, newMessage
     .getRecipients(Message.RecipientType.TO));

   transport.close();

 

   System.out.println("OK");
  } catch (Exception e) {
   System.out.println(e);
  }

 }

 public static void main(String args[]) throws Exception {
  MailTest SEmail = new MailTest();
  SEmail.SendEmailTest();
 }

}

 

测试:

在eclipse中创建一个Java Application

引入mail.jar    activation.jar

实例二

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Part;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.URLName;
import javax.mail.internet.InternetAddress;

public class MainClass {

  public static void main(String[] args) throws Exception {
    URLName server = new URLName("protocol://username@host/foldername");

    Session session = Session.getDefaultInstance(new Properties(), new MailAuthenticator());

    Folder folder = session.getFolder(server);
    if (folder == null) {
      System.out.println("Folder " + server.getFile() + " not found.");
      System.exit(1);
    }
    folder.open(Folder.READ_ONLY);

    Message[] messages = folder.getMessages();
    for (int i = 0; i < messages.length; i++) {
      System.out.println(messages[i].getSize() + " bytes long.");
      System.out.println(messages[i].getLineCount() + " lines.");
      String disposition = messages[i].getDisposition();
      if (disposition == null){
        ; // do nothing
      }else if (disposition.equals(Part.INLINE)) {
        System.out.println("This part should be displayed inline");
      } else if (disposition.equals(Part.ATTACHMENT)) {
        System.out.println("This part is an attachment");
        String fileName = messages[i].getFileName();
        System.out.println("The file name of this attachment is " + fileName);
      }
      String description = messages[i].getDescription();
      if (description != null) {
        System.out.println("The description of this message is " + description);
      }
    }
    folder.close(false);
  }
}

class MailAuthenticator extends Authenticator {

  public MailAuthenticator() {
  }

  public PasswordAuthentication getPasswordAuthentication() {
    return new PasswordAuthentication("username", "password");
  }
}

如何使用FileDataSource通过邮件发送一个文件

 

import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

public class sendfile {

    public static void main(String[] args) {
  if (args.length != 5) {
      System.out.println("usage: java sendfile <to> <from> <smtp> <file> true|false");
      System.exit(1);
  }

  String to = args[0];
  String from = args[1];
  String host = args[2];
  String filename = args[3];
  boolean debug = Boolean.valueOf(args[4]).booleanValue();
  String msgText1 = "Sending a file.n";
  String subject = "Sending a file";
 
  // create some properties and get the default Session
  Properties props = System.getProperties();
  props.put("mail.smtp.host", host);
 
  Session session = Session.getInstance(props, null);
  session.setDebug(debug);
 
  try {
      // create a message
      MimeMessage msg = new MimeMessage(session);
      msg.setFrom(new InternetAddress(from));
      InternetAddress[] address = {new InternetAddress(to)};
      msg.setRecipients(Message.RecipientType.TO, address);
      msg.setSubject(subject);

      // create and fill the first message part
      MimeBodyPart mbp1 = new MimeBodyPart();
      mbp1.setText(msgText1);

      // create the second message part
      MimeBodyPart mbp2 = new MimeBodyPart();

            // attach the file to the message
        FileDataSource fds = new FileDataSource(filename);
      mbp2.setDataHandler(new DataHandler(fds));
      mbp2.setFileName(fds.getName());

      // create the Multipart and add its parts to it
      Multipart mp = new MimeMultipart();
      mp.addBodyPart(mbp1);
      mp.addBodyPart(mbp2);

      // add the Multipart to the message
      msg.setContent(mp);

      // set the Date: header
      msg.setSentDate(new Date());
     
      // send the message
      Transport.send(msg);
     
  } catch (MessagingException mex) {
      mex.printStackTrace();
      Exception ex = null;
      if ((ex = mex.getNextException()) != null) {
    ex.printStackTrace();
      }
  }
    }
}

时间: 2025-01-01 14:41:50

java 邮件发送与带附件的实现方法的相关文章

asp.net 邮件发送类(带附件)

asp教程.net 邮件发送类(带附件) using system; using system.collections.generic; using system.text; using system.net; using system.net.mail; using system.net.mime; namespace windowsformsapplication1 {     class sendmail     {         private mailmessage mailmess

java邮件发送的实现_java

邮件是在日常生活中,这篇文章主要介绍了java实现基于SMTP发送邮件的方法,实例分析了java基于SMTP服务发送邮件的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下. 1.写一个 MailSendProper 类封装需要的属性 import java.util.Properties; public class MailSendProper { private String Host ; //发送邮件服务器的ip private String Port ; //发送邮件服务器的端口号 p

Java邮件发送程序(可以同时发给多个地址、可以带附件)_java

发送邮件的主程序 import java.util.Properties; import common.util.Email_Autherticatorbean; import javax.mail.Authenticator; import javax.mail.internet.InternetAddress; import org.apache.commons.lang.StringUtils; import javax.mail.internet.MimeBodyPart; import

发送带附件的HTML格式邮件例程可以带附件

如何通过 ASP 来发送带附件.格式为 HTML 的邮件?下面提供了一个例程. <%@ LANGUAGE=VBScript%><%Response.Buffer = TrueResponse.Expires = 0 '创建对象实例Set myMail = Server.CreateObject("CDONTS.NewMail") '以下是将要发送的内容HTML = "<html>"HTML = HTML & "<

用Java Mail发送带有图片附件的html格式邮件

用Java Mail发送带有图片的html格式的邮件,针对于显示图片,一般有两种方法. 1. 图片存在于服务器上,我们只需要把图片在服务器的的链接放进去即可. 这种发式比较简单,但是这种方法有些缺陷: 图片不支持离线浏览: 每次浏览邮件需要访问web服务,增加服务器负担: 若图片以二进制的方式存在于数据库或是动态生成的,则无法有效的解决. 2. 把图片以附件的方式发送出去,这种方式非常适用于图片存在于数据库中的情况. 本文也主要讨论这种情况. 对于Java Mail的基础知识,请看http://

.net SMTP发送Email邮件且可带附件示例_实用技巧

复制代码 代码如下: public static void sendEmail(string toAddress, string emailbody) { var fromAddress = ConfigurationManager.AppSettings["EmailAddress"]; string fromPassword = ConfigurationManager.AppSettings["EmailPassword"].ToString(); const

php实现邮件发送并带有附件

 这篇文章主要介绍了php发送邮件的示例,并可以发送带附件的邮件,大家参考使用吧  emailclass.php  代码如下: <?  class CMailFile {   var $subject;  var $addr_to;  var $text_body;  var $text_encoded;  var $mime_headers;  var $mime_boundary = "--==================_846811060==_";  var $smt

php中PHPMailer发送带附件的电子邮件方法

.首先到http://phpmailer.worxware.com/ 下载最新版本的程序包 2.下载完成后,找到class.phpmailer.php .class.smtp.php两个类放到自己的目录下! 3.然后新建一个php文件这里命名为:phpmail_jiucool.php 4.phpmail_jiucool.php内容如下: 实例  代码如下 复制代码 function postmail_jiucool_com($to,$subject = "",$body = "

简单讲解phpmailer邮件发送例子(带源码下载地址)

我顶PHPMailer ,就如它的名字一样,是一个使用 PHP 编写的邮件发送类,同时,PHPMailer 也是一个功能强大的类. 官方网站:http://phpmailer.codeworxtech.com/ DOWNLOAD:http://code.google.com/a/apache-extras.org/p/phpmailer/ PHPMailer 的主要特点有: 1.在邮件中包含多个 TO.CC.BCC 和 REPLY-TO. 2.平台应用广泛,支持的 smtp 服务器包括 Send