发送邮件的页面<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>带附件的邮件发送程序</title>
</head>
<body>
<form name="form1" method="post" action="sendEmailAttachement.jsp">
<table width="482" height="396" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="C4BED8">
<tr bgcolor="#F2EDFF">
<th height="34" colspan="2" scope="col">带附件的邮件发送程序</th>
</tr>
<tr bgcolor="#F2EDFF">
<td width="70" height="32"><div align="right">收件人:</div></td>
<td width="406"><div align="center">
<input type="text" name="rname" size="51">
</div></td>
</tr>
<tr bgcolor="#F2EDFF">
<td height="26"><div align="right">发件人:</div></td>
<td><div align="center">
<input type="text" name="sname" size="51">
</div></td>
</tr>
<tr bgcolor="#F2EDFF">
<td height="28"><div align="right">密码:</div></td>
<td><div align="center">
<input type="password" name="password" size="57">
</div></td>
</tr>
<tr bgcolor="#F2EDFF">
<td height="27"><div align="right">主题:</div></td>
<td><div align="center">
<input type="text" name="title" size="51">
</div></td>
</tr>
<tr bgcolor="#F2EDFF">
<td height="183"><div align="right">内容:</div></td>
<td><div align="center">
<textarea name="content" cols="50" rows="12"></textarea>
</div></td>
</tr>
<tr bgcolor="#F2EDFF">
<td height="34"><div align="right">附件:</div></td>
<td><div align="center">
<input type="file" name="attachement" size="43">
</div></td>
</tr>
<tr align="center" valign="middle" bgcolor="#F2EDFF">
<td height="30" colspan="2"><input type="submit" name="Submit2" value="提交">
<input type="reset" name="Submit3" value="重置"></td>
</tr>
</table>
</form>
</body>
</html>
后台程序<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="javax.mail.*"%>
<%@ page import="javax.mail.internet.*"%>
<%@ page import="javax.activation.*"%>
<%@ page import="java.net.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>带附件的邮件发送程序</title>
</head>
<body>
<%
try{
request.setCharacterEncoding("gb2312");
String from_mail=request.getParameter("sname");
String to_mail=request.getParameter("rname");
String from_psd=request.getParameter("password");
String title=request.getParameter("title");
String content=request.getParameter("content");
String path =request.getParameter("attachement");
String S =request.getParameter("sname");
int n =S.indexOf('@');
int m=S.length() ;
String server =S.substring(n+1,m);
Properties prop =new Properties();
prop.put("mail.smtp.host","smtp."+server);
prop.put("mail.smtp.auth","true");
Session sess =Session.getInstance(prop);
sess.setDebug(true);
MimeMessage message=new MimeMessage(sess);
//给消息对象设置收件人、发件人、主题
InternetAddress from =new InternetAddress(from_mail);
message.setFrom(from);
InternetAddress to =new InternetAddress(to_mail);
message.setRecipient(Message.RecipientType.TO,to);
message.setSubject(title);
Multipart mul=new MimeMultipart(); //新建一个MimeMultipart对象来存放多个BodyPart 对象
BodyPart mdp=new MimeBodyPart(); //新建一个存放信件内容的BodyPart对象
mdp.setContent(content,"text/html;charset=gb2312");
mul.addBodyPart(mdp); //将含有信件内容的BodyPart加入到MimeMulitipart对象中
//设置信件的附件
mdp=new MimeBodyPart(); //新建一个存放附件的BodyPart
DataHandler handler=new DataHandler("JAVAMAIL 附件测试","text/plain; charset=gb2312"); //新建一个DataHandler对象,并设置其内容、格式和编码方式
mdp.setFileName("mrsoft.txt"); //为“内容”文本框中的内容设置标题,并以附件的形式发送
mdp.setDataHandler(handler); //给BodyPart设置内容为handler
mul.addBodyPart(mdp); //将含有附件的BodyPart加入到MimeMulitipart对象中
//设置信件的附件(用本机上的文件作为附件)
mdp=new MimeBodyPart();
FileDataSource fds=new FileDataSource(path);//
handler=new DataHandler(fds);
mdp.setFileName("mrsoft");//可以和原文件名不一致
mdp.setDataHandler(handler);
mul.addBodyPart(mdp);
message.setContent(mul); //把mul作为消息对象的内容
message.saveChanges();
Transport transport = sess.getTransport("smtp");
//以smtp方式登陆邮箱,第一个参数是发送邮件用的邮件服务器SMTP地址,第二个参数为用户名,第三格参数为密码
transport.connect("smtp."+server,from_mail,from_psd);
transport.sendMessage(message,message.getAllRecipients());
transport.close();
out.println("邮件发送成功!");
}catch(Exception Ex){
out.print("邮件发送失败!,原因可能是:<ul>");
out.print(Ex.getMessage());
}
%>
</body>
</html>
分享到:
相关推荐
3. **添加附件**:如果需要发送附件,可以使用`MimeBodyPart`和`Multipart`类。创建一个`MimeBodyPart`实例,加载附件文件,然后将其添加到`Multipart`对象。最后,将`Multipart`对象设置为`Message`的主体。 ```...
本实例主要探讨如何在JSP中实现邮件功能,包括发送文本邮件、HTML邮件以及带有附件的邮件,以及如何接收邮件,特别是附件。 首先,我们需要了解JavaMail API,这是Java平台上用于处理邮件的库,提供了发送和接收...
【JSP实现的Email邮件发送】是Web开发中常见的需求,它允许用户通过网页界面发送电子邮件,无需直接在客户端操作邮箱。以下将详细介绍这个过程涉及的主要知识点。 首先,要实现邮件发送,我们需要理解SMTP(Simple ...
在这个实例中,我们将利用`javax.mail`和`java.activation`这两个Java库来实现JSP发送邮件的功能。这两个库是JavaMail API的一部分,提供了丰富的接口和类,使得我们可以在Java程序中方便地处理邮件的发送和接收。 ...
以下是一个简单的使用JSP发送邮件的示例代码片段: ```jsp *,javax.mail.*,javax.mail.internet.*,javax.activation.*" %> String to = request.getParameter("to"); String subject = request.getParameter(...
总结来说,JSP发送邮件主要涉及JavaMail API的使用,包括配置SMTP服务器、创建邮件会话、构建邮件内容以及发送邮件。提供的代码示例和jar文件为开发者提供了一个直接运行的环境,方便测试和学习。通过理解这些核心...
本实例将详细介绍如何使用JSP和JavaMail API来发送邮件。 首先,我们需要引入JavaMail相关的jar包,这些包括`javax.mail.jar`、`javax.mail-api.jar`和`activation.jar`。这些库提供了发送邮件所需的各种类和接口。...
JSP网络编程从基础到实践的实例代码 《JSP网络编程从基础到实践》光盘说明 光盘的实例代码目录中包含了前10章的所有实例的源代码,实例名称及其所处章节如下: ... 实例69 发送带有附件的邮件 实例70 接收EMAIL
在提供的压缩包文件中,可能包含了示例代码,你可以通过查看和运行这些代码来更好地理解和学习JSP发送邮件的功能。在学习过程中,确保理解每个步骤的作用,并尝试根据自己的需求进行修改和扩展,以掌握更高级的邮件...
本项目是一个基于JSP技术实现的邮箱系统,主要功能包括收发邮件以及发送附件,这在Web应用开发中是一项重要的实践。下面将详细阐述这个系统的相关知识点。 1. JSP(JavaServer Pages)基础: JSP是Java平台上的...
在这个"jsp发送邮件的程序完整版"中,我们将探讨如何使用JSP结合JavaMail API来实现这一功能,特别是处理带有附件的邮件。 首先,要发送邮件,我们需要了解SMTP(Simple Mail Transfer Protocol),这是一个用于...
《JSP网络编程从基础到实践》光盘说明 光盘的实例代码目录中包含了前10章的所有实例的源代码,实例名称及其所处章节如下: 第1章 JSP技术概述 实例1 第一个JSP页面 ... 实例69 发送带有附件的邮件 实例70 接收EMAIL
在邮件群发的场景下,JSP将负责构建邮件内容并调用JavaMail API进行邮件发送。 JavaMail API是Java平台用于处理电子邮件的标准API,它提供了创建、发送和接收邮件的功能。要使用JavaMail,我们需要在项目中引入相关...
《JSP网络编程从基础到实践》光盘说明 光盘的实例代码目录中包含了前10章的所有实例的源代码,实例名称及其所处章节如下: 第1章 JSP技术概述 实例1 第一个JSP页面 ... 实例69 发送带有附件的邮件 实例70 接收EMAIL
`MimeMessage`类是JavaMail API中用于创建邮件实例的类。我们可以设置`From`、`To`、`Subject`和`Body`属性,并添加附件,如`MimeBodyPart`。 发送邮件的过程涉及到`Transport`类,我们需要调用`Transport.send...
在IT行业中,`jsp发送邮件`是一个常见的任务,特别是在构建Web应用程序时,它允许开发者向用户或特定收件人发送电子邮件。在这个场景中,我们主要关注两个知识点:一是使用JavaServer Pages (JSP) 实现邮件发送功能...
【JSP开发邮件系统(源代码)】是一个基于JavaServer Pages (JSP) 技术构建的邮件系统实例,它涵盖了电子邮件系统的核心功能,包括接收、发送和查看邮件。这个项目对于学习JSP以及理解电子邮件服务的工作原理非常有...
JSP的`<jsp:useBean>`和`<jsp:setProperty>`动作标签可以用来实例化和配置JavaMail的相关对象,而`<jsp:forward>`则可以用来在不同页面间跳转,实现邮件的发送和查看功能。 在实际开发中,开发者需要创建一个`...
- 邮件发送模块:用户通过JSP填写邮件信息,Servlet接收并处理发送请求,使用JavaBean的邮件服务类完成实际的邮件发送。 - 邮件接收模块:后台定时检查新邮件,可能使用JavaMail API,通过Servlet更新数据库,并通知...
《JSP网络编程从基础到实践》 实例1 第一个JSP页面 Web开发基础 实例2 HTML与JavaScript...实例68 发送 HTML邮件 实例69 发送带有附件的邮件 实例70 接收EMAIL <br> <br> <br> <br>