发送是可以的,可就是附件上传不了,附件只是文字形式存在。
<%@ page contentType="text/html; charset=GB2312" %>
<%@page import="java.util.*"%>
<%@page import="java.io.File"%>
<%@page import="javax.mail.*"%>
<%@page import="javax.mail.internet.*"%>
<%@page import="javax.activation.*"%> 
<%@page import="com.jspsmart.upload.*"%> 
<jsp:useBean id="myUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<html>
<head>
<title>sendmail.jsp</title>
</head>
<body>
<%Properties props=new Properties();
//设置邮件服务
props.put("127.0.0.1","smtp.zgy.com");
Session session2 = Session.getDefaultInstance(props,null);try{
//设置邮件头信息代码如下: 
Message msg = new MimeMessage(session2);
msg.setFrom(new InternetAddress("[email protected]"));
InternetAddress[] addressTo = {new InternetAddress("[email protected]")};
msg.setRecipients(Message.RecipientType.TO,addressTo);
MimeBodyPart mbp1 = new MimeBodyPart();
//设置邮件内容,构建程序段如下: 
mbp1.setText("内容");
Multipart mp = new MimeMultipart(); 
mp.addBodyPart(mbp1);
//用户在发送邮件时常常带有附件,就是将浏览器客户端用户本地的文件传送到POP客户端,实现代码如下: 
myUpload.initialize(pageContext); 
myUpload.upload(); 
Files files=myUpload.getFiles();
for (int i=0;i<files.getCount();i++)
{
com.jspsmart.upload.File file = files.getFile(i);
if (!file.isMissing()) {
file.saveAs("/upload/" + file.getFileName()); 
}
}
//在上传附件的同时,对上传文件的数量进行统计,并通过out.println("上传了"+count + "个文件")将其在屏幕上显示出来。 
//在发送的信件中如果有附件,使用如下代码进行发送: 
for(int i=0;i<files.getCount();i++)
{
com.jspsmart.upload.File file = files.getFile(i);
out.print(file.getFileName());
MimeBodyPart mbp2 = new MimeBodyPart();
File file2=new File("/upload/",file.getFileName());
DataSource source =new FileDataSource(file2);
mbp2.setDataHandler(new DataHandler(source));
mbp2.setText(file.getFileName(),"gb2312");
mbp2.setFileName(file.getFileName());
mp.addBodyPart(mbp2);
}
// Put parts in message
msg.setContent(mp);
//调用Transport的send方法,将构造好MIME Message对象发送出去,代码如下: 
msg.setSubject("标题");
msg.setSentDate(new Date());
Transport.send(msg);
}catch(Exception ex){
out.println("发送失败");
}
%>
</body>
</html>