日期:2014-05-17  浏览次数:20781 次

我的是jsp,请问如何实现提交成功后发送邮件提醒功能
我的是jsp,请问如何实现提交成功后发送邮件提醒功能。

------解决方案--------------------
要两个java文件 还有一个mail.jar是不是只能用javamail谁也不敢说 


第一个:

public class Constant { 

public static final String mailAddress ="用户名@163.com"; 
public static final String mailCount ="用户名"; 
public static final String mailPassword ="密码"; 
public static final String mailServer ="smtp.163.com"; 
//pukeyouxintest, 





第二个:

import java.util.Date; 
import java.util.Properties; 

import javax.mail.Message; 
import javax.mail.Session; 
import javax.mail.Transport; 
import javax.mail.internet.InternetAddress; 
import javax.mail.internet.MimeMessage; 

public class SendMail { 
/** 
* 发送简单邮件 
* @param str_from:发件人地址 
* @param str_to:收件人地址 
* @param str_title:邮件标题 
* @param str_content:邮件正文 
*/ 
public static void send(String str_from,String str_to,String str_title,String str_content) { 

// str_content="<a href='www.163.com'>html元素</a>"; //for testing send html mail! 

try { 
//建立邮件会话 
Properties props=new Properties(); //用来在一个文件中存储键-值对的,其中键和值是用等号分隔的, 
//存储发送邮件服务器的信息 
props.put("mail.smtp.host",Constant.mailServer); 
//同时通过验证 
props.put("mail.smtp.auth","true"); 
//根据属性新建一个邮件会话 
Session s=Session.getInstance(props); 
s.setDebug(true); //有他会打印一些调试信息。 

//由邮件会话新建一个消息对象 
MimeMessage message=new MimeMessage(s); 

//设置邮件 
InternetAddress from= new InternetAddress(str_from); //pukeyouxintest2@163.com 
message.setFrom(from); //设置发件人的地址 
// 
// //设置收件人,并设置其接收类型为TO 
InternetAddress to=new InternetAddress(str_to); //pukeyouxintest3@163.com 
message.setRecipient(Message.RecipientType.TO, to); 

//设置标题 
message.setSubject(str_title); //java学习 

//设置信件内容 
// message.setText(str_content); //发送文本邮件 //你好吗? 
message.setContent(str_content, "text/html;charset=gbk"); //发送HTML邮件 //<b>你好</b><br><p>大家好</p> 
//设置发信时间 
message.setSentDate(new Date()); 

//存储邮件信息 
message.saveChanges(); 

//发送邮件 
Transport transport=s.getTransport("smtp"); 
//以smtp方式登录邮箱,第一个参数是发送邮件用的邮件服务器SMTP地址,第二个参数为用户名,第三个参数为密码 
transport.connect(Constant.mailServer,Constant.mailCount,Constant.mailPassword); 
//发送邮件,其中第二个参数是所有已设好的收件人地址 
transport.sendMessage(message,message.getAllRecipients()); 
transport.close(); 

} catch (Exception e) { 
e.printStackTrace(); 



public static void main(String[] args) { 
//测试用的,你吧你想写的内容写上去就行 
send(Constant.mailAddress,"收件人邮箱","标题","<b>内容</b>"); 






然后把mail.jar导入,就可以了,我用的是163 的,其他的吧相应的服务器改一下就行了
------解决方案--------------------
你的邮箱服务器要开一下一个协议的,以前的不用。现在必须开了,才能发送

就在邮箱设置里面
------解决方案--------------------
楼主试试别的邮箱 设置协议我记得也有这么回事,但忘记具体怎么弄了
------解决方案--------------------
QQ邮箱的POP3与SMTP服务器是什么?
QQ邮箱 POP3 和 SMTP 服务器地址设置如下:

邮箱 POP3服务器(端口110) SMTP服务器(端口25) 
qq.com pop.qq.com smtp.qq.com