📄 attachment_send.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 + -