我的是jsp,请问如何实现提交成功后发送邮件提醒功能。
解决方案 »
- 哪位 大虾 帮忙看下 这个异常怎么产生的~~
- Hibernate和Spring怎样入门?
- ibatis 查询时的问题,精通的请进来
- 如何在Spring 的环绕通知获得session 对象
- 请问在页面中打开服务器的excel文件该怎么实现?
- Connection pool的乱码问题!
- 关于jsp中JavaBean的Scope属性的疑问?高手请进!
- 求助各位高手两个客户调用 Struts2中的同一个存储过程却返回相同的数据
- 关于CXF wadl2java生成类的问题 跪求大神
- 开发Entity Beans的问题,Container都起来了,用client去测时出现问题
- OReilly的《JSP设计》一书如何?
- java代码 连接Sybase数据库 报错--登录失败
第一个: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); //[email protected]
message.setFrom(from); //设置发件人的地址
//
// //设置收件人,并设置其接收类型为TO
InternetAddress to=new InternetAddress(str_to); //[email protected]
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邮箱
报异常
535 Authentication failed
javax.mail.AuthenticationFailedException
at javax.mail.Service.connect(Service.java:306)
at javax.mail.Service.connect(Service.java:156)
at org.hanban.utils.mail.MailSend.send(MailSend.java:66)
at org.hanban.utils.mail.MailSend.main(MailSend.java:79)
QQ邮箱 POP3 和 SMTP 服务器地址设置如下:邮箱 POP3服务器(端口110) SMTP服务器(端口25)
qq.com pop.qq.com smtp.qq.com
SMTP服务器需要身份验证。
如果是设置POP3和SMTP的SSL加密方式,则端口如下:
POP3服务器(端口995)
SMTP服务器(端口465或587)。