java mail邮件开发-web端
来源:互联网 发布:mac用什么解压缩软件 编辑:程序博客网 时间:2024/05/29 16:38
利用JDNI基于tomcat服务器进行简单邮件开发
一般流程:
1.配置文件:
在项目的根目录下的META-INF下创建context.xml,配置如下:
<Context> <Resource name="mail/session" auth="Container" type="javax.mail.Session" mail.smtp.host="smtp.sina.com" mail.transport.protocol="smtp" mail.smtp.auth="true"/></Context>
在web.xml文件中需要配置:
<resource-ref> <res-ref-name>mail/session</res-ref-name> <res-type>javax.mail.Session</res-type> <res-auth>Container</res-auth> </resource-ref>
这些配置的基本信息,在自己安装的tomcat的主目录下的webapps下的docs下的 jndi-resources-howto.html这个文件下有详细的说明,我这里就不加解释了。
2.创建servlet对象:
在创建servlet对象之前,需要把java mail依赖的jar文件,也就是mail.jar加入到tomcat的根目录下的lib里面,因为,在tomcat启动时就会创建邮件环境对象Session,所以要依赖mail.jar文件。
SendMailServlet.java详细如下:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //String smtpServer = "smtp.sina.com"; String user = "******@sina.com";//用户名 String password = "**********";//密码 String from="********@sina.com";//发件人 String to="**********@qq.com";//收件人 String subject="Html Test";//邮件标题 String body="<a href=http://www.baidu.com>"+"欢迎访问百度"+"</a></br>"; try { //利用JDNI创建并初始化session对象 Context initCtx = new InitialContext(); Context envCtx = (Context) initCtx.lookup("java:comp/env"); Session session = (Session) envCtx.lookup("mail/session"); //创建邮件的MimeMessage对象 Message message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.setRecipients(RecipientType.TO, InternetAddress.parse(to)); message.setSentDate(new Date()); message.setSubject(subject); message.setText(body); //保存并生成邮件 message.saveChanges(); Transport transport = session.getTransport(); transport.connect(user, password); transport.sendMessage(message, message.getRecipients(RecipientType.TO)); //关闭transport对象 transport.close(); response.setContentType("text/html,charset=gbk"); response.getWriter().write("您的邮件发送成功"); } catch (NamingException e) { e.printStackTrace(); } catch (AddressException e) { e.printStackTrace(); } catch (MessagingException e) { e.printStackTrace(); } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }
通过上面的基本配置,加代码就可完成web端的邮件开发。有什么不对的地方,望指正。
阅读全文
0 0
- java mail邮件开发-web端
- java mail邮件开发基本操作
- Java Mail 邮件类
- Java Mail 发送邮件
- JAVA MAIL发送邮件
- java mail 收发邮件
- java mail 收发邮件
- Java Mail 邮件 demo
- Java Mail 发送邮件
- java mail 发邮件
- Java mail发送邮件
- java mail 发送邮件
- Java Mail发送邮件
- java mail邮件发送
- java mail 发送邮件
- java mail邮件邮箱
- Java mail发送邮件
- java mail发送邮件
- Redis设实
- .h头文件 .lib库文件 .dll动态库文件之间的关系
- 杂谈
- C++中调用Lua的全局变量和全局函数
- PlayerPrefs数据储存
- java mail邮件开发-web端
- 模板不支持分离编译???
- Makefile中的shell用法
- Android RecyclerView 网格显示正方形元素
- Android Studio提交代码到SVN
- 关于 Context initialization failed org.springframework.beans.factory.BeanDefinitionStoreException 错误
- 3. Longest Substring Without Repeating Characters最长不重复子串
- awk的基本使用
- 线程的同步