`
liushibo
  • 浏览: 44054 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java中利用mail.jar发送email

阅读更多
1,下载activation.jar和mail.jar包,可以到sun的官网上下载不过速度比较慢,我是在http://download.csdn.net/source/640980上下载的,没有版本说明,不过一般的要求应该是能够满足的
下面开始编写发送email程序:
<1>利用Properties设置一些基本的配置,比如

//设置一些基本属性
property.put(“mail.smtp.host”, SMTP_HOST);
property.put(“mail.smtp.port”, SMTP_PORT);
property.put(“mail.smtp.protocol” , SMTP_PROTOCOL);
property.put(“mail.smtp.auth”,SMTP_AUTH);

<2>自己编写一个认证类,继承自抽象类Authenticator,并实现getPasswordAuthentication方法,如下:

class MyAuthenticator extends Authenticator
{
private String user;
private String password;
public MyAuthenticator(String user,String password)
{
this.user = user;
this.password = password;
}
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication(user,password);
}
}
其中user和password是正常登陆邮箱时属性的用户名和密码的验证信息
<3>获得发送邮件的会话

MyAuthenticator myauth = new MyAuthenticator(AUTH_USER,AUTH_PASSWORD);
//获得发送邮件的会话
Session mailSession = Session.getDefaultInstance(property,myauth);
<4>生成所要发送的message,包括目的地址,发送地址,title,content

//生成发送的消息
Message message = new MimeMessage(mailSession);
try{
//形成发送的mail地址
InternetAddress fromAddress = new InternetAddress(FROM_ADDRESS);
message.setFrom(fromAddress);
InternetAddress toAddress = new InternetAddress(to);
//加入发送消息的目的地址addRecipients()两个重载函数
message.addRecipient(Message.RecipientType.TO, toAddress);
//设置消息题
message.setSubject(title);
//设置消息主题
message.setText(content);
//保存
message.saveChanges();
}
<5>发送email

//发送mail
try
{
Transport.send(message, message.getRecipients(Message.RecipientType.TO));
}
总的来说,发送email的过程是:生成会话包括认证信息和配置信息->message消息->发送->结束。
具体的API请参看官方手册
源程序如下

package org.solucking.smf.util;
import java.util.Date;
import java.util.Properties;
import java.util.List;
import java.util.ArrayList;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.SendFailedException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.AddressException;
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
public class SendMail {
public static String SMTP_HOST = “smtp.163.com”;
public static String SMTP_PORT = “25″;
public static String SMTP_PROTOCOL = “SMTP”;
public static String SMTP_AUTH = “true”;
public static String AUTH_USER = “*****”;
public static String AUTH_PASSWORD = “****”;
public static String FROM_ADDRESS = “*****@163.com”;
/**
* 发送email,目的地址为一个
* @param to 目的email地址
* @param title email的标题
* @param content email的内容
* @return 返回是否发送成功
*/
public static boolean send(String to,String title,String content)
{
boolean isSuccess = true;
if( to == null || title == null || content == null)return false;
Properties property = new Properties();
//设置一些基本属性
property.put(“mail.smtp.host”, SMTP_HOST);
property.put(“mail.smtp.port”, SMTP_PORT);
property.put(“mail.smtp.protocol” , SMTP_PROTOCOL);
property.put(“mail.smtp.auth”,SMTP_AUTH);
MyAuthenticator myauth = new MyAuthenticator(AUTH_USER,AUTH_PASSWORD);
//获得发送邮件的会话
Session mailSession = Session.getDefaultInstance(property,myauth);
//生成发送的消息
Message message = new MimeMessage(mailSession);
try{
//形成发送的mail地址
InternetAddress fromAddress = new InternetAddress(FROM_ADDRESS);
message.setFrom(fromAddress);
InternetAddress toAddress = new InternetAddress(to);
//加入发送消息的目的地址addRecipients()两个重载函数
message.addRecipient(Message.RecipientType.TO, toAddress);
//设置消息题
message.setSubject(title);
//设置消息主题
message.setText(content);
//保存
message.saveChanges();
}
catch(Exception e)
{
isSuccess = false;
System.out.println(e.getMessage());
}
//发送mail
try
{
Transport.send(message, message.getRecipients(Message.RecipientType.TO));
}
catch(Exception e)
{
isSuccess = false;
System.out.println(e.getMessage());
}
return isSuccess;
}
/**
* 发送email,目的地址为一组
* @param toList 一组email地址
* @param title email的标题
* @param content email的内容
* @return boolean 返回是否成功
*/
public static boolean send(List toList,String title,String content)
{
boolean isSuccess = true;
if( toList == null || title == null || content == null || toList.size() == 0 )return false;
Properties property = new Properties();
//设置一些基本属性
property.put(“mail.smtp.host”, SMTP_HOST);
property.put(“mail.smtp.port”, SMTP_PORT);
property.put(“mail.smtp.protocol” , SMTP_PROTOCOL);
property.put(“mail.smtp.auth”,SMTP_AUTH);
MyAuthenticator myauth = new MyAuthenticator(AUTH_USER,AUTH_PASSWORD);
//获得发送邮件的会话
Session mailSession = Session.getDefaultInstance(property,myauth);
//生成发送的消息
Message message = new MimeMessage(mailSession);
try{
//形成发送的mail地址
InternetAddress fromAddress = new InternetAddress(FROM_ADDRESS);
message.setFrom(fromAddress);
for(String to:toList)
{
InternetAddress toAddress = new InternetAddress(to);
//加入发送消息的目的地址addRecipients()两个重载函数
message.addRecipient(Message.RecipientType.TO, toAddress);
}
//设置消息题
message.setSubject(title);
//设置消息主题
message.setText(content);
//保存
message.saveChanges();
}
catch(Exception e)
{
isSuccess = false;
System.out.println(e.getMessage());
}
//发送mail
try
{
Transport.send(message, message.getRecipients(Message.RecipientType.TO));
}
catch(Exception e)
{
isSuccess = false;
System.out.println(e.getMessage());
}
return isSuccess;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO
String to = “*****@163.com”;
String title = “email 测试程序”;
String content = “我测试用得,不要回复呀。”;
List toList = new ArrayList();
toList.add(to);
toList.add(“yangguangli19871124@gmail.com”);
boolean res = SendMail.send(toList, title, content);
if( res == true )System.out.println(“发送成功”);

}
}
class MyAuthenticator extends Authenticator
{
private String user;
private String password;
public MyAuthenticator(String user,String password)
{
this.user = user;
this.password = password;
}
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication(user,password);
}
}
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    java发送邮件必备的jar包(mail.jar和activation.jar)

    在Java编程中,发送电子邮件是一项常见的任务,而`mail.jar`和`activation.jar`这两个JAR包是实现这一功能的关键库。它们提供了JavaMail API,一个用于在Java应用程序中处理邮件的接口。让我们深入探讨一下这两个JAR...

    activation.jar commons-email-1.2.jar mail.jar免费下载

    标题中的"activation.jar commons-email-1.2.jar mail.jar免费下载"涉及到的是Java邮件处理相关的库文件,这些在Java开发中用于实现电子邮件的发送和处理。让我们逐一解析这三个jar文件: 1. **activation.jar**:...

    mail.jar、commons-email-1.2.jar 、activation.jar下载

    "mail.jar、commons-email-1.2.jar、activation.jar下载"这个标题暗示了我们正在处理用于处理电子邮件功能的Java库。这些库对于使用Java编程语言构建邮件发送功能至关重要。 1. **JavaMail API**(mail.jar): ...

    ant发邮件所需的jar(activation.jar+javax.mail.jar+mail.jar+commons-email-1.2.jar)

    3. **mail.jar**:在某些情况下,javax.mail.jar可能会包含在名为mail.jar的文件中,它是JavaMail API的完整实现,包含了发送邮件所需的所有组件。 4. **commons-email-1.2.jar**:这是Apache Commons Email库,...

    java发Email和mail.jar

    也许很多 同道遇到和我一样的问题,建了个web项目,写一堆代码,结果一运行老是报错!!...Java代码+mailjar 搞定!!!如果还没有成功,你可以给我发邮件973203075@qq.com,我可以把项目也给你!!

    mail.jar和activation.jar

    JavaMail API,封装在`mail.jar`中,是Java平台上的一个开源标准API,用于构建能够发送、接收和管理邮件的应用程序。它提供了一系列的接口和类,如`Session`、`Message`、`Store`和`Transport`等,通过这些组件,...

    mail.jar commons-email-1.1.jar activation.jar

    在您提供的信息中,"mail.jar", "commons-email-1.1.jar", 和 "activation.jar" 是三个关键的Java档案(JAR)文件,它们各自在邮件发送过程中扮演着不同的角色。 1. **mail.jar**: 这是JavaMail API的实现,它提供...

    javax.mail.jar-Java发送邮件API

    javax.mail.jar-Java发送邮件API。Apache Email基于javax.mail做了一个开源项目,参见:http://commons.apache.org/proper/commons-email/

    android 开发電邮 mail.jar,additionnal.jar,activation.jar

    message.setText("This is a test email."); Transport.send(message); Log.d("Email", "Email sent successfully."); } catch (MessagingException e) { Log.e("Email", "Failed to send email", e); } ``` ...

    mail.jar_activation.jar

    总的来说,"mail.jar" 和 "activation.jar" 是Java开发者处理电子邮件的关键库,它们简化了与邮件服务器的交互,使开发人员能够轻松地在应用程序中集成邮件服务。无论是发送确认邮件、通知、还是进行自动化通信,这...

    commons-email-1.2.jar/email.jar/activation.jar

    如果你的项目中包含了`email.jar`,那么它可能已经包含了`commons-email-1.2.jar`和`activation.jar`的功能,因此不需要单独导入这两个库。 总的来说,Apache Commons Email和JavaMail API是Java开发中处理电子邮件...

    mail.jar和Activation.jar

    在Java编程环境中,`mail.jar` 和 `activation.jar` 是两个至关重要的库文件,它们主要用于构建和处理电子邮件服务。这两个JAR(Java Archive)文件在JavaMail API中扮演着核心角色,使得Java开发者能够轻松地集成...

    mail.jar包(TOMCAT)

    总的来说,`mail.jar`包是Java Web开发中处理邮件功能的核心组件,它通过提供丰富的接口和类,简化了邮件服务的实现,极大地提高了开发效率。对于构建基于JSP的邮件系统,理解并熟练运用`mail.jar`及其API是必不可少...

    javamail 发送邮件需要的两个jar包,activation.jar和mail.jar

    JavaMail 是一个强大的开源库,用于在Java应用程序中发送和接收电子邮件。在使用JavaMail进行邮件操作时,有两个核心的JAR...通过正确导入activation.jar和mail.jar,你可以在Java应用程序中轻松实现邮件的发送和接收。

    activation.jar ,mail.jar下载

    JavaMail 是一个开源的Java库,它为Java程序员提供了邮件处理功能,包括发送、接收电子邮件以及访问企业级的...结合activation.jar和mail.jar,开发者可以轻松地实现邮件的发送、接收和管理,从而提升应用的用户体验。

    Android使用mail.jar实现后台发送邮件

    总之,通过正确使用activation.jar、additionnal.jar和mail.jar库,开发者可以在Android应用中实现在后台发送邮件的功能,从而满足各种自动化通信的需求。这个过程涉及到对JavaMail API的深入理解和合理配置,确保...

    activation.jar mail.jar

    在Java编程环境中,如果你需要构建一个能够发送电子邮件的程序,`activation.jar` 和 `mail.jar` 是两个至关重要的库文件。这两个JAR(Java Archive)文件提供了JavaMail API,允许开发者通过Java代码来处理电子邮件...

    commons_mail.jar

    标题中的"commons_mail.jar"是这个库的可执行JAR文件,它包含了Apache Commons Email项目的核心功能。这个库是Apache软件基金会开发的,是对标准JavaMail API的一个封装,旨在使邮件发送过程变得更加简单和直观。 ...

    java发送电子邮件所需jar包(activation.jar和mail.jar)

    在这个场景中,`activation.jar` 和 `mail.jar` 是两个至关重要的Java档案(JAR)文件,它们提供了JavaMail API,使得Java程序能够发送和接收电子邮件。 `activation.jar` 包含了JavaBeans Activation Framework ...

Global site tag (gtag.js) - Google Analytics