`
superLinux
  • 浏览: 1719 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Java发送邮件实例

阅读更多

   发纯文本的邮件          

 

             首先下载commons-email-1.1.jar、mail.jar和activation.jar(它们可以从sun的网站上下载,从下载的javamail和jaf中找到)。
         (一)使用javax.mail.*

 

  import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

/**
 * @description 
 * @author lyf 
 * @createTime Jul 28, 2011
 * @version 1.1.1.1
 */
public class SendTextMail {
 String SMTPHost="";//SMTP服务器
 String user="";//登录SMTP服务器的账号
 String passwd;
 String from="";//发件人邮箱
 String to="";//收件人邮箱
 String subject="";//邮件标题
 String content="";//邮件内容
 public SendTextMail()
 {
  
 }
 
 /**
  * 发送邮件
  * @createTime Jul 28, 2011
  */
 public void sendMail()
 {
  Properties props=new Properties();
  props.put("mail.smtp.host", SMTPHost);
  props.put("mail.smtp.auth", "true");
  
  try {
   SmtpAuth auth=new SmtpAuth();
   auth.setAccount(user, passwd);
   //create a Session
   Session mailSession=Session.getDefaultInstance(props,auth);
   mailSession.setDebug(true);
   //create a Message Object
   Message message=new MimeMessage(mailSession);
   //sender
   message.setFrom(new InternetAddress(from));
   //getter
   message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
   //subject
   message.setSubject(subject);
   //set the content
   message.setText(content);
   //send time
   message.setSentDate(new Date());
   //priority 1:urgency 2:general 3:slow
   message.setHeader("X-Priority", "1");
   message.saveChanges();
   //create a Transport Object
   Transport transport=mailSession.getTransport("smtp");
   //connect to SMTP Server
   transport.connect(SMTPHost, user, passwd);
   //sendMail
   transport.sendMessage(message, message.getAllRecipients());
   
  } catch (Exception e) {
   
   e.printStackTrace();
  }
 }
 static class SmtpAuth extends Authenticator
 {
  String user,passwd;
  //setting the user information
  void setAccount(String user,String passwd)
  {
   this.user=user;
   this.passwd=passwd;
  }
  protected PasswordAuthentication getPasswordAuthentication()
  {
   return (new PasswordAuthentication(user,passwd));
   
  }
 }
 /**
  * @return the sMTPHost
  */
 public String getSMTPHost() {
  return SMTPHost;
 }
 /**
  * @param host the sMTPHost to set
  */
 public void setSMTPHost(String host) {
  SMTPHost = host;
 }
 /**
  * @return the user
  */
 public String getUser() {
  return user;
 }
 /**
  * @param user the user to set
  */
 public void setUser(String user) {
  this.user = user;
 }
 /**
  * @return the from
  */
 public String getFrom() {
  return from;
 }
 /**
  * @param from the from to set
  */
 public void setFrom(String from) {
  this.from = from;
 }
 /**
  * @return the to
  */
 public String getTo() {
  return to;
 }
 /**
  * @param to the to to set
  */
 public void setTo(String to) {
  this.to = to;
 }
 /**
  * @return the subject
  */
 public String getSubject() {
  return subject;
 }
 /**
  * @param subject the subject to set
  */
 public void setSubject(String subject) {
  
  try {
   subject=new String(subject.getBytes("ISO8859-1"),"UTF-8");
  } catch (UnsupportedEncodingException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  this.subject = subject;
 }
 /**
  * @return the content
  */
 public String getContent() {
  return content;
 }
 /**
  * @param content the content to set
  */
 public void setContent(String content) {
  try {
   content=new String(content.getBytes("ISO8859-1"),"UTF-8");
  } catch (UnsupportedEncodingException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  this.content = content;
 }
 /**
  * @return the passwd
  */
 public String getPasswd() {
  return passwd;
 }
 /**
  * @param passwd the passwd to set
  */
 public void setPasswd(String passwd) {
  this.passwd = passwd;
 }
 

}

   (二)使用org.apache.commons.mail.*(此方法比方法一简单很多)

import org.apache.commons.mail.EmailException;     
import org.apache.commons.mail.SimpleEmail;     
    
public class Send      
{     
	
	private String SMTPHost="";//SMTP服务器
	private String user="";//登录SMTP服务器的账号
	private String passwd;
	private String from="";//发件人邮箱
	private String to="";//收件人邮箱
	private String subject="";//邮件标题
	private String content="";//邮件内容    
     
    public Send(String host, String user, String passwd,String to, String subject, String content) {
		
		SMTPHost = host;
		this.user = user;
		this.passwd = passwd;
		this.from = user;
		this.to = to;
		this.subject = subject;
		this.content = content;
	}

	public static void main(String[] args)     
    {     
    	Send send=new Send("smtp.163.com","****@163.com","******","**email_address**","","");
    
    	send.setSubject("注册成功!!!");
    	send.setContent("您好!!!您的注册已通过审核请注意查看!!!");
    	send.send();     
    }     
         
    public void send()     
    {     
        SimpleEmail email = new SimpleEmail();        
        email.setTLS(true);             
        email.setHostName(this.SMTPHost);           
        email.setAuthentication(this.user, this.passwd);        
             
        try      
        {   
        	//to
            email.addTo(this.to); 
            //from
            email.setFrom(this.from);          
             //subject   
            email.setSubject(this.subject);                 //标题        
            //setting Charset         
            email.setCharset("UTF-8");                     
             //content    
            email.setMsg(this.content);           
            //send     
            email.send();  
            System.out.println("发送完毕");
                 
        } catch (EmailException e) {     
            e.printStackTrace();     
        }      
    }

	/**
	 * @return the sMTPHost
	 */
	public String getSMTPHost() {
		return SMTPHost;
	}

	/**
	 * @param host the sMTPHost to set
	 */
	public void setSMTPHost(String host) {
		SMTPHost = host;
	}

	/**
	 * @return the user
	 */
	public String getUser() {
		return user;
	}

	/**
	 * @param user the user to set
	 */
	public void setUser(String user) {
		this.user = user;
	}

	/**
	 * @return the passwd
	 */
	public String getPasswd() {
		return passwd;
	}

	/**
	 * @param passwd the passwd to set
	 */
	public void setPasswd(String passwd) {
		this.passwd = passwd;
	}

	/**
	 * @return the from
	 */
	public String getFrom() {
		return from;
	}

	/**
	 * @param from the from to set
	 */
	public void setFrom(String from) {
		this.from = from;
	}

	/**
	 * @return the to
	 */
	public String getTo() {
		return to;
	}

	/**
	 * @param to the to to set
	 */
	public void setTo(String to) {
		this.to = to;
	}

	/**
	 * @return the subject
	 */
	public String getSubject() {
		return subject;
	}

	/**
	 * @param subject the subject to set
	 */
	public void setSubject(String subject) {
		this.subject = subject;
	}

	/**
	 * @return the content
	 */
	public String getContent() {
		return content;
	}

	/**
	 * @param content the content to set
	 */
	public void setContent(String content) {
		this.content = content;
	}     
}    

 

另外还有发送html的邮件和包含附件的邮件,在此只谈一下发纯文本的邮件

分享到:
评论

相关推荐

    java发送邮件实例

    2. **创建邮件消息(Message)**:使用`MimeMessage`类创建邮件实例。我们可以设置邮件的发件人、收件人、抄送人、密送人、主题和正文。如果是HTML格式的邮件,可以使用`MimeBodyPart`和`Multipart`类来构造复杂的...

    java 发邮件实例

    以下是一个基本的Java发送邮件的示例代码: ```java import javax.mail.*; import javax.mail.internet.*; public class EmailSender { public static void main(String[] args) { // 配置邮件会话参数 ...

    java发送邮件的实例

    总的来说,Java发送邮件涉及到了网络通信、邮件协议(如SMTP)、JavaMail API的使用,以及可能的认证机制。理解这些知识点对于实现一个稳定的邮件发送功能至关重要。在实际操作时,确保正确配置邮件服务信息,并对...

    java实现发邮件实例

    下面是一个简单的Java发送邮件的示例代码: ```java import javax.mail.*; import javax.mail.internet.*; public class EmailSender { public static void main(String[] args) { // 设置邮件服务器属性 ...

    java发送邮件实例(含mail包)

    Java发送邮件是软件开发中常见的功能,特别是在自动化通知、用户注册验证或客户服务中。Java Mail API 是Java平台上的一个标准库,它提供了处理电子邮件的工具,包括创建、发送和接收邮件。在这个实例中,我们将深入...

    Java发送邮件实例源代码

    在Java编程中,发送电子邮件是一项常见的任务,尤其在自动化通知、数据报告或者用户验证等场景中。本实例将深入探讨如何使用JavaMail API来实现这一功能。JavaMail API是一个开源库,它允许开发者通过Java程序发送和...

    使用java发送邮件实例

    教如何大家使用java发送邮件的实例,一看就会,也可以直接拿来用

    java发送邮件实例源码

    本实例完整的实现了java发送邮件的功能,需要大家下载下来将自己的用户名和密码等替换,替换的文件在项目中的email.properties文件中,具体详情请参见博文:...

    JAVA100例之实例45 使用SMTP协议发送邮件

    在Java编程中,发送电子邮件是一项常见的任务,尤其在自动化通知、数据报告或用户验证场景下。本实例45聚焦于使用SMTP(Simple Mail Transfer Protocol)协议来实现这一功能。SMTP是互联网标准,用于在邮件服务器...

    java 接收邮件实例

    一个独立的java 接收邮件实例,平时java发邮件这块应该说是资源都比较丰富了。但收这块比较少,所以就整合了一下相关资源。

    java发邮件实例代码和说明,附mailapi.jar和smtp.jar

    3. **使用Java发送邮件的基本步骤** - 引入依赖:在项目中添加`mailapi.jar`和`smtp.jar`,这两个库文件包含了发送邮件所需的所有类和接口。 - 创建Properties对象:设置SMTP服务器的属性,如主机名、端口、认证...

    Java发送邮件实例及mail.jar包和activation-1.1.jar包.rar

    在Java编程中,发送电子邮件是一项常见的任务,尤其在自动化通知、数据报告或者用户验证等场景中。本实例将深入探讨如何使用`mail.jar`和`activation-1.1.jar`这两个库来实现邮件发送功能。这两个JAR文件是JavaMail ...

    java mail(邮件发送实例)

    在这个实例中,我们将深入探讨如何使用Java Mail API来发送邮件,特别是涉及中文处理和HTML格式的邮件。 首先,我们看到有两个库文件:mail.jar 和 commons-email-1.0.jar。mail.jar 包含了Java Mail的核心组件,...

    java 发邮件例子

    以下是一个基于`commons-email-1.1`库的Java发邮件实例: 首先,确保你的项目已经正确地引入了`commons-email`库。这通常通过Maven或Gradle的依赖管理来完成。如果你使用的是Maven,可以在`pom.xml`文件中添加以下...

    JAVA发送邮件实现,消息格式化

    本文将详细讲解如何使用Java发送邮件,并着重介绍消息格式化的概念及其重要性。 首先,发送邮件的核心类是JavaMail API提供的`javax.mail`包中的`Session`, `Message`, `Transport`等类。为了发送邮件,我们需要...

    JAVA 发送HTML格式并带图片的邮件实例

    使用`MimeMessage`的`setFrom()`、`setRecipient()`、`setSubject()`和`setSentDate()`方法分别设置发件人、收件人、邮件主题和发送时间。 3. **创建Multipart对象**: HTML邮件通常包含多个部分,比如文本和图片...

    java发送邮件的源码实例

    Java发送邮件是编程中常见的一种任务,特别是在自动化通知、服务端消息传递等方面有着广泛的应用。在Java中,我们可以使用JavaMail API来实现邮件的发送功能。这个实例是关于如何使用163邮箱作为代理来发送邮件的...

    java发送邮件完整程序

    Java发送邮件是一个常见的任务,尤其在自动化通知、订阅服务或者数据传输中。在这个"java发送邮件完整程序"中,我们将会探讨如何使用Java语言来构建一个邮件发送功能,包括所需的库、步骤以及关键代码片段。 首先,...

    java发送邮件_实例.doc

    本文将基于提供的“java发送邮件_实例.doc”文件,深入探讨Java发送邮件的核心技术和实践方法。 #### Mail.jar包的重要性 首先,成功发送邮件的关键之一是下载并正确配置`Mail.jar`包。`Mail.jar`是JavaMail API的...

Global site tag (gtag.js) - Google Analytics