您的位置:首页 > 编程语言 > Java开发

使用Javamail发送邮件例子和相关的解释

2012-05-09 00:16 447 查看
下面例子演示怎样用javamail来发送邮件,在测试之前,我们要下载javamail的类包,并添加入你的工程中,如果你的IDE自带javamail的类包,那就很简单,直接import 就行,mark使用的是MyEclipse 7.5,自带,所以可以直接测试下面代码了。

 

几个javamail类的作用

javax.mail.Properties类

我们使用Properties来创建一个session对象。里面保存里对Session的一些设置,如协议,SMTP地址,是否验证的设置信息

javax.mail.Session类

代表一个邮件session. 有session才有通信。

javax.mail.InternetAddress类

Address确定信件地址。

javax.mail.MimeMessage类

Message对象将存储发送的电子邮件信息,如主题,内容等等

javax.mail.Transport类

 Transport传输邮件类,采用send方法是发送邮件。

 

package ajava.sample.jee;

import java.util.Properties;

import javax.mail.Session;

import javax.mail.Message;

import javax.mail.Transport;

import javax.mail.MessagingException;

import javax.mail.internet.MimeMessage;

import javax.mail.internet.InternetAddress;

import javax.mail.Authenticator;

import javax.mail.PasswordAuthentication;

//ajava.org JavaMail发送例子

public class AjavaEmailSenderDemo {

    public static void main(String[] args) {

         String from = "";//发信邮箱

         String to = "";//收信邮箱

         String subject = "Hi There...";//邮件主题

         String text = "How are you?
";//邮件内容

 

         Properties properties = new Properties();//创建Properties对象

         properties.setProperty("mail.transport.protocol", "smtp");//设置传输协议

         properties.put("mail.smtp.host", "smtp.sina.com");//设置发信邮箱的smtp地址

         properties.setProperty("mail.smtp.auth", "true"); //验证

         Authenticator auth = new AjavaAuthenticator("ajavamark","ajavamark"); //使用验证,创建一个Authenticator

         Session session = Session.getDefaultInstance(properties, auth);//根据Properties,Authenticator创建Session

         try {

             Message message = new MimeMessage(session);//Message存储发送的电子邮件信息

             message.setFrom(new InternetAddress(from));

             message.setRecipient(Message.RecipientType.TO,

                     new InternetAddress(to));//设置收信邮箱

             message.setSubject(subject);//设置主题

             message.setText(text);//设置内容

             Transport.send(message);//发送

         } catch (MessagingException e) {

             e.printStackTrace();

         }

     }

}

 

//创建传入身份验证信息的 Authenticator类 

class AjavaAuthenticator extends Authenticator {

 private String user;     

 private String pwd;      

 public AjavaAuthenticator(String user, String pwd) {

  this.user = user;         

  this.pwd = pwd;     

 }      

 @Override    

 protected PasswordAuthentication getPasswordAuthentication() {

  return new PasswordAuthentication(user, pwd);     

 } 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: