javamail
所需jar 包两个 activation.jar,mail.jar(放在邮箱里了)
index.jsp 填写相关信息。用来发邮件的邮箱和密码一定要写对
<%@ page contentType="text/html; charset=gb2312" language="java" errorPage="../error/error.jsp" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>发送电子邮件</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" type="text/css" href="../image/com.css"/></head>
<body>
<form method="post" name="form1" action="sendEmail.jsp" onSubmit="return email()">
<table width="480" height="393" border="1" align="center" cellpadding="0" cellspacing="0">
<tr bordercolor="#D4D0C8" bgcolor="#FEFFC9">
<td height="27" colspan="2" align="left"><div align="center"><strong>发送电子邮件</strong></div></td>
</tr>
<tr bgcolor="#FEFFC9">
<td width="68" height="27" align="left"><div align="right">收件人:</div></td>
<td width="406" height="27"><div align="center">
<input type="text" name="sname" size="51">
</div></td>
</tr>
<tr bgcolor="#FEFFC9">
<td height="27" align="left"><div align="right">发件人:</div></td>
<td height="27"> <div align="center">
<input type="text" name="jname" size="51">
</div></td>
</tr>
<tr bgcolor="#FEFFC9">
<td height="27" align="left"><div align="right">密 码:</div></td>
<td height="27"><div align="center"><input type="password" name="password" size="57"></div></td>
</tr>
<tr bgcolor="#FEFFC9">
<td height="27" align="left"><div align="right">主 题:</div></td>
<td height="27"><div align="center">
<input name="title" type="text" size="51">
</div></td>
</tr>
<tr align="left" bgcolor="#FEFFC9">
<td height="227" valign="top"><div align="right">内 容:</div></td>
<td height="227"><div align="center">
<textarea name="message" cols="50" rows="15"></textarea>
</div></td>
</tr>
<tr align="center" valign="middle" bordercolor="#D4D0C8" bgcolor="#FEFFC9">
<td height="29" colspan="2"><input type="submit" name="Submit" value="发送">
<input type="reset" name="Submit2" value="清除"></td>
</tr>
</table>
</form>
</body>
</html>
sendmail.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" errorPage="" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%@ page import ="javax.mail.*" %>
<%@ page import="javax.mail.internet.*" %>
<%@ page import="javax.activation.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>发送邮件</title>
</head>
<link rel="stylesheet" type="text/css" href="../image/com.css"/>
<%
try{
request.setCharacterEncoding("gb2312");
String from=request.getParameter("jname");
String to=request.getParameter("sname");
String subject=request.getParameter("title");
String messageText=request.getParameter("message");
String password=request.getParameter("password");
String S =request.getParameter("jname");
int n =S.indexOf('@');
int m=S.length() ;
String server =S.substring(n+1,m);
//建立邮件会话
Properties pro=new Properties();
pro.put("mail.smtp.host","smtp."+server);
pro.put("mail.smtp.auth","true");
Session sess=Session.getInstance(pro);
sess.setDebug(true);
//新建一个消息对象
MimeMessage message=new MimeMessage(sess);
//设置发件人
InternetAddress from_mail=new InternetAddress(from);
message.setFrom(from_mail);
//设置收件人
InternetAddress to_mail=new InternetAddress(to);
message.setRecipient(Message.RecipientType.TO ,to_mail);
//设置主题
message.setSubject(subject);
//设置内容
message.setText(messageText);
//设置发送时间
message.setSentDate(new Date());
//发送邮件
message.saveChanges(); //保存邮件信息
Transport transport =sess.getTransport("smtp");
transport.connect("smtp."+server,from,password); //这一句很关键,相当于登陆管理员邮箱来发邮件
// transport.connect("smtp.163.com",wode@163.com,"123456");
transport.sendMessage(message,message.getAllRecipients());
transport.close();
out.print("发送邮件成功");
}catch(Exception e){
out.print("发送邮件失败,原因可能是<ul>");
out.println(e.getMessage());
}
%>
</html>
另附
教育网发邮件的方法(2个jar包)
sendmail.jsp
String seting_stmp="smtp.163.com";
String user="flypan_1";
String password="3118848";
String mail_from="flypan_1@163.com";
String mail_to=email; //email是取数据库中的来发的
String title="您已成功找回您的密码!";
String content="无忧学习网恭喜您,您已找回您的密码:"+passwords+"。";
int a=Mailsend.send(seting_stmp,user,password,mail_from,mail_to,title,content);
if (a == 0)
{
out.println("<script>");
out.println("alert('恭喜您,您已找回您的密码,请稍后在您的邮箱里查收!')");
out.println("document.location='/index.jsp';");
out.println("</script>");
}
Mailsend.java
package com.jetsum.util;
import java.util.Properties;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
public class Mailsend {
public Mailsend() {
}
public static int send(String seting_stmp, String user, String password,
String mail_from, String mail_to, String title,
String content) {
int i = 0;
try {
Properties props = new Properties();
Session sendsession;
Transport transport;
// 向属性中写入SMTP服务器的地址
props.put("mail.smtp.host", seting_stmp);
// 设置SMTP服务器需要权限认证
props.put("mail.smtp.auth", "true");
// 设置输出调试信息
// PopupAuthenticator auth = new PopupAuthenticator();
sendsession = Session.getInstance(props, null);
sendsession.setDebug(true);
// 根据Session生成Message对象
Message message = new MimeMessage(sendsession);
// 设置发信人地址
message.setFrom(new InternetAddress(mail_from));
// 设置收信人地址
message.setRecipient(Message.RecipientType.TO, new InternetAddress(mail_to));
// 设置E-mail标题
message.setSubject(title);
// 设置E-mail发送时间
//message.setSentDate(new Date());
// 发送html格式的邮件
// 新建一个存放信件内容的BodyPart对象
BodyPart mdp = new MimeBodyPart();
// 给BodyPart对象设置内容和格式/编码方式
mdp.setContent(content, "text/html;charset=gb2312");
Multipart mm = new MimeMultipart();
// 新建一个MimeMultipart对象用来存放BodyPart对
// (事实上可以存放多个)
mm.addBodyPart(mdp);
// 将BodyPart加入到MimeMultipart对象中(可以加入多个BodyPart)
message.setContent(mm);
// 保存对于E-mail的修改
message.saveChanges();
// 根据Session生成Transport对象
transport = sendsession.getTransport("smtp");
// 连接到SMTP服务器
transport.connect(seting_stmp, mail_from, password);
// 发送E-mail
transport.sendMessage(message, message.getAllRecipients());
// 关闭Transport连接
transport.close();
}
catch (Exception e) {
i = 1;
// TODO 自动生成 catch 块
e.printStackTrace();
}
return i;
}
}