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>