java代码 package com.sj.action; import java.io.UnsupportedEncodingException; import java.util.Date; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Message; import javax.mail.MessagingException; 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; import javax.mail.internet.MimeUtility; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.Preparable; @SuppressWarnings("serial") public class MailAction extends ActionSupport implements Preparable{ private String mail; // 发件人的账号 private String password; // 发件人的密码 private String to; // 收件人的地址 private String cs; // 抄送地址 private String ms; // 密送地址 private String subject; // 发送主题 private String content; // 发送内容 private String fj; // 附件内容 final String HOST_KEY="mail.smtp.host";// final String USER_KEY="mail.smtp.user";// final String PWD_KEY="mail.smtp.pwd";// final String AUTH_KEY="mail.smtp.auth";// final String AUTH_VALUE="true";// //清除多个的提示信息 public void prepare() throws Exception { clearErrorsAndMessages(); } //发送邮件实例 public String sendMail(){ return "mailinit"; } //发送邮件的方法 public String sendEmail() throws MessagingException, UnsupportedEncodingException{ Properties props=new Properties(); //判断是哪个邮箱 String HOST_VALUE=""; //smtp.163.com if(mail.contains("@163.com")){ HOST_VALUE="smtp.163.com"; } if(mail.contains("@qq.com")){ HOST_VALUE="smtp.qq.com"; } props.put(HOST_KEY, HOST_VALUE); //发件人的服务器 props.put(USER_KEY, this.mail); // 发件人的账号 props.put(PWD_KEY, this.password); //发件人的密码 props.put(AUTH_KEY, AUTH_VALUE); // 自动发送 Session session = Session.getDefaultInstance(props); Message message=new MimeMessage(session); //message.setSubject(new String(subject.getBytes("GB2312"),"ISO-8859-1")); //发送主题 message.setSubject(subject); message.setSentDate(new Date()); // 发送日期 message.setFrom(new InternetAddress(mail)); //发送邮件者 message.setRecipient(Message.RecipientType.TO,new InternetAddress(to)); //接受邮件着 // 抄送地址的判断 if(!cs.equals("")){ message.addRecipient(Message.RecipientType.CC,new InternetAddress(cs)); } // 密送送地址的判断 if(!ms.equals("")){ message.addRecipient(Message.RecipientType.BCC,new InternetAddress(ms)); } //内容的处理 Multipart mPart=new MimeMultipart(); MimeBodyPart bodyPart=new MimeBodyPart(); String mail_type="text/plain"; if(content.startsWith("<html>")||content.startsWith("<HTML>")){ mail_type="text/html;"; } bodyPart.addHeader("Content-Type", mail_type); bodyPart.setHeader("Content-Transfer-Encoding", "base64"); // 指定使用base64编码 bodyPart.setText(content); mPart.addBodyPart(bodyPart); //附件的操作 if(!fj.equals("")){ MimeBodyPart bdp=new MimeBodyPart(); FileDataSource fds=new FileDataSource(fj); bdp.setDataHandler(new DataHandler(fds)); bdp.setFileName(MimeUtility.encodeText(fds.getName())); mPart.addBodyPart(bdp); } message.setContent(mPart); // 内容的处理 message.saveChanges(); Transport trans=session.getTransport("smtp"); trans.connect(HOST_VALUE,mail,password); // 连接 trans.sendMessage(message, message.getAllRecipients()); trans.close(); addActionMessage(getText("admin_querysucc")); return "succ"; } /// 以下是get和set 方法 public String getMail() { return mail; } public void setMail(String mail) { this.mail = mail; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getTo() { return to; } public void setTo(String to) { this.to = to; } public String getCs() { return cs; } public void setCs(String cs) { this.cs = cs; } public String getMs() { return ms; } public void setMs(String ms) { this.ms = ms; } public String getSubject() { return subject; } public void setSubject(String subject) { this.subject = subject; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public String getFj() { return fj; } public void setFj(String fj) { this.fj = fj; } }
JSP代码
<%@ page contentType="text/html; charset=gbk"%> <%@include file="../common/admin_head.jsp"%> <%@taglib prefix="s" uri="/struts-tags"%> <%@ taglib uri="/WEB-INF/FCKeditor.tld" prefix="fck"%> <%@taglib prefix="sj" uri="/sjep"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <link href="<%=basepath%>/css/admin.css" rel="stylesheet" type="text/css" /> <mce:script type="text/javascript" src="../js/sujian.js" mce_src="js/sujian.js"></mce:script> <mce:script type="text/javascript" src="../fckeditor.js" mce_src="fckeditor.js"></mce:script> <title> <s:text name="admin_user_title"></s:text> </title> <mce:script type="text/javascript"><!-- function trim(str){ if(str==null||str=="") return ""; return str.replace(/^/s+/g, '').replace(//s+$/g, ''); }; function check(){ with(document.forms[0]){ if(trim(mail.value)==""){ alert('发件人账号必须输入,请输您入!'); mail.focus(); return false; } //电子邮件格式的判断 if(mail.value.length!=0 &&!checkEmail(mail.value)){ mail.focus(); return false; } //发件人的密码盘空 if(trim(password.value)==""){ alert('发件人密码必须输入,请您输入!'); password.focus(); return false; } //发件人地址的判空 if(trim(to.value)==""){ alert('发件人地址必须输入,请您输入!'); to.focus(); return false; } //发件人地址电子邮件格式的判断 if(to.value.length!=0 &&!checkEmail(to.value)){ to.focus(); return false; } //内容的判断 if(trim(content.value)==""){ alert('内容必须输入,请您输入!'); content.focus(); return false; } return true; } } function save(){ with(document.forms[0]){ if(!check()){ return false; } document.forms[0].submit(); } } // 添加抄送 function chaosong(){ with(document.forms[0]){ var tr1 = document.getElementById('tr1'); tr1.style.display="block"; } } // 取消抄送 function qchaosong(){ with(document.forms[0]){ var tr1 = document.getElementById('tr1'); tr1.style.display="none"; cs.value=""; } } //添加密送 function misong(){ with(document.forms[0]){ var tr2 = document.getElementById('tr2'); tr2.style.display="block"; } } //取消密送 function qmisong(){ with(document.forms[0]){ var tr2 = document.getElementById('tr2'); tr2.style.display="none"; ms.value=""; } } function reset(){ with(document.forms[0]){ mail.value=""; password.value=""; to.value=""; cs.value=""; ms.value=""; subject.value=""; content.value=""; } } // --></mce:script> </head> <body> <center> <div class="titleText" align="center"> <s:text name="admin_mail"/> </div> <s:form action="sendEmailAction.action" id="form0" onsubmit="return save();"> <table class="table" align="center" width="80%"> <tr> <th colspan="4" class="center">发件人 </th> </tr> <tr> <th colspan="4" class="center"> <font class="font12y">注意:发件人请使用163邮箱或者腾讯QQ邮箱发送邮件</font> </th> </tr> <tr> <th>账号</th> <td> <s:textfield id="mail" name="mail"/><font class="font12y">*</font> </td> <th>密码</th> <td> <s:textfield id="password" name="password"/><font class="font12y">*</font> </td> </tr> </table> <table align="center" class="table" border="1" width="80%"> <tr> <th>收件人</th> <td> <s:textfield id="to" name="to" size="60"/><font class="font12y">*</font> <a href="javascript:chaosong();" mce_href="javascript:chaosong();"> 添加抄送 </a> <a href="javascript:misong();" mce_href="javascript:misong();"> 添加密送 </a> </td> </tr> <tr style="display:none" mce_style="display:none" id="tr1"> <th>抄送 </th> <td> <s:textfield id="cs" name="cs" size="60"/> <a href="javascript:qchaosong();" mce_href="javascript:qchaosong();"> 取消抄送 </a> </td> </tr> <tr style="display:none" mce_style="display:none" id="tr2"> <th>密送</th> <td> <s:textfield id="ms" name="ms" size="60"/> <a href="javascript:qmisong();" mce_href="javascript:qmisong();"> 取消密送 </a> </td> </tr> <tr> <th>主题</th> <td> <s:textfield id="subject" name="subject" size="60"/><font class="font12y">*</font> </td> </tr> <tr> <th>内容:</th> <td> <s:textarea id="content" name="content" rows="15" cols="100%" /> </td> </tr> <tr> <th>附件:</th> <td> <input name="fj" type="file" title="浏览"/> </td> </tr> <tr> <th colspan="3" class="center"> <input type="button" value=" 发 送 " size="35" onclick="save();"> <input type="button" value="重 新 填 写 " size="35" onclick="reset();"> </th> </tr> </table> </s:form> </center> </body> </html>
struts 配置文件代码
<!-- 发送邮件实例 --> <action name="mailAction" class="com.sj.action.MailAction" method="sendMail"> <result name="mailinit">/admin/sendMail.jsp</result> <interceptor-ref name="loginedCheck"/> <interceptor-ref name="defaultStack"/> </action> <action name="sendEmailAction" class="com.sj.action.MailAction" method="sendEmail"> <result name="succ">/admin/sendMail.jsp</result> <interceptor-ref name="loginedCheck"/> <interceptor-ref name="defaultStack"/> </action>
您还没有登录,请您登录后再发表评论
实例一结合了SSH(Spring、Struts2、Hibernate)框架,Spring框架提供了便捷的邮件服务支持。在Spring配置文件中,我们需要定义一个`<bean>`来配置邮件服务器的相关属性,如主机名、端口、用户名、密码等。然后,...
总之,这个实例结合了Struts2、Spring和Mybatis的强大功能,提供了一个完整的邮件发送系统,包括邮件的创建、附件上传和数据库操作。对这个实例的学习和实践,可以帮助开发者深入理解Java企业级应用的开发流程和技巧...
4. **struts2-mailreader**:这个例子是一个简单的邮件阅读器应用,它演示了如何在Struts2中使用邮箱服务,如发送和接收邮件。开发者可以从中学到如何在Struts2应用中集成外部服务,如邮件服务器,并处理相关的业务...
这是一个邮件阅读器应用,它展示了如何使用Struts2框架来处理用户请求、展示邮件列表、发送和接收邮件等基本功能。通过分析和运行这个项目,你可以了解到以下几点: 1. **MVC模式的实现**:Struts2遵循Model-View-...
重点内容有操作XML文件、发送与接收邮件、数据库操作技术、SQL语句应用技术、复杂查询技术、数据库高级应用、JFreeChart绘图基础、基础图表技术、扩展图表技术、基于Cewolf组件的图表编程、Prototype框架、jQuery...
本篇文章将详细探讨如何在Struts2框架中实现自动发送电子邮件的功能。 首先,我们需要了解JavaMail API,这是Java中用于处理邮件的核心库。在Struts2项目中,我们需要引入JavaMail相关的依赖,如`javax.mail`和`...
在Struts2中集成JavaMail是为了实现邮件发送功能,这在许多应用场景中非常常见,如用户注册验证、系统通知等。JavaMail是Java平台用于处理邮件的一套API,它提供了创建、发送和接收邮件的能力。 以下是一个使用...
Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,由Apache软件基金会维护。这个实例“struts开发实例一个”旨在帮助初学者理解和掌握Struts框架的基本应用,包括前端验证和后端Action...
在这个"struts2框架邮件登录"实例中,我们将深入探讨Struts2的核心特性以及如何在实际应用中实现邮件登录功能。 首先,Struts2的MVC模式将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器...
邮件组件则是Struts中一个独立的模块,它专注于邮件发送的功能,与其他模块解耦,可以方便地集成到任何需要发送邮件的应用场景中。 实现邮件发送功能,通常会涉及到SMTP(Simple Mail Transfer Protocol)服务,这...
实例2 java流程控制 实例20 工具栏 实例21 内部窗体 实例22 分割一个面板 实例23 滑动杆 实例24 颜色过滤器 实例25 表格 实例26 基本图形绘制 实例27 绘制波图形 实例28 图片的处理 实例29 绘制指针时钟 实例3 数组...
Struts2网上书店是一个基于Java Web技术实现的项目,它运用了流行的开源框架Struts2,为...Struts2网上书店是一个典型的Java Web应用实例,对于学习和理解Web应用开发,特别是Struts2框架的使用,具有很高的参考价值。
Struts2.0是Java Web开发中非常流行的MVC(Model-View-Controller)框架,SSH框架中的S即为Struts2,它与Spring和Hibernate一起构建了一个强大的企业级应用开发解决方案。本压缩包文件“C04”可能包含了一系列关于...
总的来说,这个项目展示了如何利用 Hibernate 和 Struts 进行企业级 Web 应用的开发,结合 MSSQLServer 存储数据,以及 JMail 处理邮件发送,为我们提供了一个邮箱系统的实例。虽然描述中提到还未完成,但已经足够...
JavaMail是一种在Java环境中发送和接收电子邮件的标准API,它提供了丰富的功能来处理复杂的邮件操作。在Struts2框架中集成JavaMail服务,可以方便地在Web应用中实现邮件的发送功能。下面我们将深入探讨JavaMail的...
### Struts框架精讲:基于MVC的Java Web设计与开发 #### 一、Struts框架简介 **Struts**是Apache基金会支持的一个开源项目,它是一个用于开发Java Web应用程序的MVC(Model-View-Controller)框架。Struts简化了...
Struts2-Mailreader是基于Apache Struts2框架的一个示例应用,主要展示了如何在Struts2框架下实现邮件阅读的功能。这个项目对于开发者来说是一个很好的学习资源,因为它提供了实际操作的代码实例,可以帮助理解...
这是一个开放源码的API,允许Java开发者访问SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)服务器,实现邮件的发送、接收和管理。以下是一些关键的知识点: 1. **JavaMail API**: 首先,...
SSH(Spring、Struts2.x 和 Hibernate)是一个经典的Java企业级开发框架组合,常用于构建高效、可维护的Web应用程序。这个登录实例是基于这些框架的集成应用,结合了MySQL数据库和Tomcat服务器,提供了用户登录和...
相关推荐
实例一结合了SSH(Spring、Struts2、Hibernate)框架,Spring框架提供了便捷的邮件服务支持。在Spring配置文件中,我们需要定义一个`<bean>`来配置邮件服务器的相关属性,如主机名、端口、用户名、密码等。然后,...
总之,这个实例结合了Struts2、Spring和Mybatis的强大功能,提供了一个完整的邮件发送系统,包括邮件的创建、附件上传和数据库操作。对这个实例的学习和实践,可以帮助开发者深入理解Java企业级应用的开发流程和技巧...
4. **struts2-mailreader**:这个例子是一个简单的邮件阅读器应用,它演示了如何在Struts2中使用邮箱服务,如发送和接收邮件。开发者可以从中学到如何在Struts2应用中集成外部服务,如邮件服务器,并处理相关的业务...
这是一个邮件阅读器应用,它展示了如何使用Struts2框架来处理用户请求、展示邮件列表、发送和接收邮件等基本功能。通过分析和运行这个项目,你可以了解到以下几点: 1. **MVC模式的实现**:Struts2遵循Model-View-...
重点内容有操作XML文件、发送与接收邮件、数据库操作技术、SQL语句应用技术、复杂查询技术、数据库高级应用、JFreeChart绘图基础、基础图表技术、扩展图表技术、基于Cewolf组件的图表编程、Prototype框架、jQuery...
本篇文章将详细探讨如何在Struts2框架中实现自动发送电子邮件的功能。 首先,我们需要了解JavaMail API,这是Java中用于处理邮件的核心库。在Struts2项目中,我们需要引入JavaMail相关的依赖,如`javax.mail`和`...
重点内容有操作XML文件、发送与接收邮件、数据库操作技术、SQL语句应用技术、复杂查询技术、数据库高级应用、JFreeChart绘图基础、基础图表技术、扩展图表技术、基于Cewolf组件的图表编程、Prototype框架、jQuery...
在Struts2中集成JavaMail是为了实现邮件发送功能,这在许多应用场景中非常常见,如用户注册验证、系统通知等。JavaMail是Java平台用于处理邮件的一套API,它提供了创建、发送和接收邮件的能力。 以下是一个使用...
Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,由Apache软件基金会维护。这个实例“struts开发实例一个”旨在帮助初学者理解和掌握Struts框架的基本应用,包括前端验证和后端Action...
在这个"struts2框架邮件登录"实例中,我们将深入探讨Struts2的核心特性以及如何在实际应用中实现邮件登录功能。 首先,Struts2的MVC模式将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器...
邮件组件则是Struts中一个独立的模块,它专注于邮件发送的功能,与其他模块解耦,可以方便地集成到任何需要发送邮件的应用场景中。 实现邮件发送功能,通常会涉及到SMTP(Simple Mail Transfer Protocol)服务,这...
实例2 java流程控制 实例20 工具栏 实例21 内部窗体 实例22 分割一个面板 实例23 滑动杆 实例24 颜色过滤器 实例25 表格 实例26 基本图形绘制 实例27 绘制波图形 实例28 图片的处理 实例29 绘制指针时钟 实例3 数组...
Struts2网上书店是一个基于Java Web技术实现的项目,它运用了流行的开源框架Struts2,为...Struts2网上书店是一个典型的Java Web应用实例,对于学习和理解Web应用开发,特别是Struts2框架的使用,具有很高的参考价值。
Struts2.0是Java Web开发中非常流行的MVC(Model-View-Controller)框架,SSH框架中的S即为Struts2,它与Spring和Hibernate一起构建了一个强大的企业级应用开发解决方案。本压缩包文件“C04”可能包含了一系列关于...
总的来说,这个项目展示了如何利用 Hibernate 和 Struts 进行企业级 Web 应用的开发,结合 MSSQLServer 存储数据,以及 JMail 处理邮件发送,为我们提供了一个邮箱系统的实例。虽然描述中提到还未完成,但已经足够...
JavaMail是一种在Java环境中发送和接收电子邮件的标准API,它提供了丰富的功能来处理复杂的邮件操作。在Struts2框架中集成JavaMail服务,可以方便地在Web应用中实现邮件的发送功能。下面我们将深入探讨JavaMail的...
### Struts框架精讲:基于MVC的Java Web设计与开发 #### 一、Struts框架简介 **Struts**是Apache基金会支持的一个开源项目,它是一个用于开发Java Web应用程序的MVC(Model-View-Controller)框架。Struts简化了...
Struts2-Mailreader是基于Apache Struts2框架的一个示例应用,主要展示了如何在Struts2框架下实现邮件阅读的功能。这个项目对于开发者来说是一个很好的学习资源,因为它提供了实际操作的代码实例,可以帮助理解...
这是一个开放源码的API,允许Java开发者访问SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)服务器,实现邮件的发送、接收和管理。以下是一些关键的知识点: 1. **JavaMail API**: 首先,...
SSH(Spring、Struts2.x 和 Hibernate)是一个经典的Java企业级开发框架组合,常用于构建高效、可维护的Web应用程序。这个登录实例是基于这些框架的集成应用,结合了MySQL数据库和Tomcat服务器,提供了用户登录和...