当前位置: 代码迷 >> JavaScript >> jsp怎么实现发送电子邮件
  详细解决方案

jsp怎么实现发送电子邮件

热度:94   发布时间:2012-09-05 15:19:35.0
jsp如何实现发送电子邮件
下载javamail的包 

java.sun.com/products/javamail/downloads/index.html

将 mail.jar 复制到 lib 目录中

2、下载activation 包

java.sun.com/products/javabeans/jaf/downloads/index.html

将activation.jar复制到 lib 目录中

3、再把服务器重启下

    

  二、下面是一个简单的发送文本内容的例子,直接在jsp中进行操作。可以自己设置smtp的地址,用户名和密码,这是javamail最简单的应用,它的功能超强,可以发附件,可以收邮件等。

<%@page contentType="text/html;charset=gb2312"%>

<%@ page import="javax.mail.*,javax.activation.*,javax.mail.internet.*,java.util.*"%>

<html>

<head>

<title>JavaMail 电子邮件发送</title>

</head>

<body>

<%!

public class MailAuthenticator extends Authenticator{

String authenName;

String authenPass;

public MailAuthenticator(String authenName,String authenPass) {

super();

this.authenName=authenName;

this.authenPass=authenPass;

}

public PasswordAuthentication getPasswordAuthentication(){

return new PasswordAuthentication(authenName,authenPass);

}

}

%>

<%

MailAuthenticator ma = new MailAuthenticator("","");

//这里第一个参数是用户名,第二个是密码。 如果是匿名服务器,可以设置为空

Properties props = new Properties();

Session sendMailSession;

Transport transport;

sendMailSession = Session.getInstance(props,ma);

Message newMessage = new MimeMessage(sendMailSession);

newMessage.setFrom(new InternetAddress("test@test.com")); //发件人

newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress("wxg_bj@yahoo.com.cn")); //目标邮箱

newMessage.setSubject("subject"); //这个是标题

newMessage.setSentDate(new Date());

newMessage.setText("text"); //文本内容

props.put("mail.smtp.host","192.168.0.1");//这里设置smtp服务器地址 ,我设置的是本机

props.put("mail.smtp.auth","true");//这里true代表需要密码验证,如果是匿名服务器,可以设置为false,当然,设置为ture也无所谓,只要名和密码设置为空

transport = sendMailSession.getTransport("smtp");

try{

transport.send(newMessage);

//发送

}catch(Exception e){

System.out.println(e);

}

%>

</BODY>

</HTML>