javamail
所需jar 包两个 activation.jar,mail.jar(放在邮箱里了)
index.jsp 填写相关信息。用来发邮件的邮箱和密码一定要写对
发送电子邮件
sendmail.jsp
发送邮件
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("",wode@,"123456");
transport.sendMessage(message,message.getAllRecipients());
transport.close();
out.print("发送邮件成功");
}catch(Exception e){
out.print("发送邮件失败,原因可能是
");
out.println(e.getMessage());
}
%>
另附
教育网发邮件的方法(2个jar包)
sendmail.jsp
String seting_stmp="";
String user="flypan_1";
String password="3118848";
String mail_from="flypan_1@";
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("
out.println("alert('恭喜您,您已找回您的密码,请稍后在您的邮箱里查收!')");
out.println("document.location='/index.jsp';");
out.println("");
}
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;
}
}