⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 attachment_send.jsp

📁 jsp动态网站开发技术与实践 电子工业出版社 随书附赠源代码
💻 JSP
字号:
<%@ page contentType="text/html; charset=gb2312" language="java"%>
<%@ page import="java.util.*"%>
<%@ page import="javax.mail.*"%>
<%@ page import="javax.mail.internet.*"%>
<%@ page import="javax.activation.*"%>
<%@ page import="java.net.*"%>
<%@ page import="com.jspsmart.upload.*"%>
<!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>
	<div align="center">
	<h1>带附件的邮件发送</h1>		
	<%
		try
		{
			//保存上传的附件
			// 新建一个SmartUpload对象
			SmartUpload su = new SmartUpload();
			// 上传初始化
			su.initialize(pageContext);
			//设定上传限制
			//限制每个上传文件的最大长度。
			su.setMaxFileSize(1000000);
			// 上传文件
			su.upload();
			// 将上传文件全部保存到指定目录
			int count = su.save("/attachment");		
			com.jspsmart.upload.File file = su.getFiles().getFile(0);					
			
			//发送邮件
			//使用getRequest()方法从html表单中接收邮件信息
			String str_to=su.getRequest().getParameter("to");
			String str_subject=su.getRequest().getParameter("subject");
			String str_content=su.getRequest().getParameter("content");
			
			//建立邮件会话,也可用Properties props = System.getProperties(); 
			Properties props=new Properties();			
			props.put("mail.smtp.host","smtp.sohu.com");
			props.put("mail.smtp.auth","true");
			Session s=Session.getInstance(props);
			s.setDebug(true);		
			
			MimeMessage message=new MimeMessage(s);			
			//给消息对象设置发件人、收件人、主题、发信时间
			InternetAddress from=new InternetAddress("gfzhao06@sohu.com");
			message.setFrom(from);
			InternetAddress to=new InternetAddress(str_to);
			message.setRecipient(Message.RecipientType.TO,to);
			message.setSubject(str_subject);
			message.setSentDate(new Date());
			//新建一个MimeMultipart对象用来存放多个BodyPart对象
			Multipart mm=new MimeMultipart();
			
			//设置信件文本内容
			//新建一个存放信件内容的BodyPart对象
			BodyPart mdp=new MimeBodyPart();
			//给BodyPart对象设置内容和格式/编码方式
			mdp.setContent(str_content,"text/html;charset=gb2312");
			//将含有信件内容的BodyPart加入到MimeMultipart对象中
			mm.addBodyPart(mdp);
			
			//设置信件的附件
			mdp=new MimeBodyPart();
			//获取要发送的附件的路径
			FileDataSource fds=new FileDataSource(file.getFilePathName());
			DataHandler dh=new DataHandler(fds);
			//附件名是原来客户端上传的文件名
			mdp.setFileName(new String(file.getFileName().getBytes("gb2312")));
			mdp.setDataHandler(dh);
			mm.addBodyPart(mdp);
			//把mm作为消息对象的内容
			message.setContent(mm);
			
			message.saveChanges();
			Transport transport=s.getTransport("smtp");
			//以smtp方式登录邮箱,第一个参数是发送邮件用的邮件服务器SMTP地址,第二个参数为用户名,第三个参数为密码
			transport.connect("smtp.sohu.com","gfzhao06","123456");
			transport.sendMessage(message,message.getAllRecipients());
			transport.close();
	%>
		<p><font color=red>邮件发送成功!</font></p>
		<p>发送目的地址:<font color="#0000FF"><%=str_to%></font></p>
		<%
			}
			catch(MessagingException e)
			{
				out.println("<p><font color=red>邮件发送失败!</font></p>");
				out.println(e.toString());
			}
	%>
	</div>
	</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -