나는 메시지를 표시하는 전자 메일 클라이언트를 만들었으며 회신을 클릭하면 해당 전자 메일에 첨부 파일로 응답해야하지만 enctype='multipart/form-data'>
은 bodypart.getContent()
이나 다른 방법을 사용하지 않습니다. 프로젝트를 처리해야하므로이 문제를 빨리 해결할 수 있도록 도와주세요.첨부 파일이있는 메일에 회신하려면 어떻게해야합니까?
composereplymail.jsp 난 당신이 뭘 하려는지에 완전히 명확하지 않다
<%@ page import="user.*" %>
<%@ page import="javax.mail.*" %>
<%@ page import="javax.mail.internet.*" %>
<%@ page import="javax.activation.*" %>
<%@ page import="java.io.*" %>
<%
String sendmessage=(String)request.getAttribute("sendmessage");
if(sendmessage==null)
{
sendmessage="";
}
if (session == null) {
response.sendError(404, "Session expired");
return;
}
userinfo info = (userinfo)session.getAttribute("userinfo");
Session sessio = info.getSession();
Store store = sessio.getStore("imap");
store.connect(info.getHostname(),info.getusername(),info.getpassword());
Folder folder = store.getFolder(info.getUrl());
folder.open(Folder.READ_WRITE);
Integer messageno=Integer.parseInt(request.getParameter("messageno"));
Message[] message = folder.getMessages();
String subject=message[messageno].getSubject();
%>
<html><head>
<title>Home Page</title>
<link rel="stylesheet" type="text/css" href="styleforcomposemail.css" />
</head>
<body>
<center>
<form action='sendmail' method='post' enctype='multipart/form-data'>
<table>
<tr bgcolor='#800517'>
<td colspan='2'><b><h3><center>Compose Your Mail Here</center></h3></b></td>
</tr>
<tr height="15" bgcolor='#CFECEC'>
<td><b>From :</td>
<td><label for="login"><%= info.getsendfrom() %></label></td>
</tr>
<tr height="15" bgcolor='#CFECEC'>
<td><b>TO :</td>
<td><input type='text' name='sendto' class='Large' value='<%= message[messageno].getFrom()[0] %>' /></b>separate addresses with commas</td>
</tr>
<tr height="15" bgcolor='#CFECEC'>
<td><b >CC :</td>
<td><input type='text' name='cc' class='Large' /></b></td>
</tr>
<tr height="15" bgcolor='#CFECEC'>
<td><b>Subject :</td>
<td><input type='text' name='subject' class='Large' value='Re : <%=subject%>' /></td>
</tr>
<%
MimeMessage reply = (MimeMessage) message[messageno].reply(false);
Multipart multipart=(Multipart)message[messageno].getContent();
for(int i=0;i<multipart.getCount();i++)
{
BodyPart bodypart = multipart.getBodyPart(i);
String disposition = bodypart.getDisposition();
if(disposition != null && (disposition.equals(BodyPart.ATTACHMENT)))
{
//saveFile(bodypart.getFileName(),bodypart.getInputStream());
String filename=bodypart.getFileName();
String FilePath="C:\\nikki\\apache-tomcat-7.0.22\\webapps\\Email\\download\\"+filename;
String FileDownloadPath="\\Email\\download\\"+filename;
DataHandler dh = bodypart.getDataHandler();
%>
<tr height="15" bgcolor='#CFECEC'>
<td><b>Attachment :</td>
<td><input type="hidden" name="attachment" value="<%=bodypart.getContent()%>"/><a href="<%=FileDownloadPath%>"><%=filename%></a></td>//**what method should i pass over here to get that file sent with multipart/form-data**
</tr>
<%}else{%>
<tr bgcolor='#CFECEC'>
<td colspan='2'><textarea id="textAreaa" rows='32' cols='135' name='data'><%=bodypart.getContent()%></textarea></td>
</tr>
<%}}%>
<tr height="15" bgcolor='#CFECEC'>
<td colspan='2'><input type='submit' class='button' name='Submit' value='Submit'/>
<input type='submit' class='button' name='Draft' value='Save As Draft'/>
<input type='reset' class='button' value='Reset' name='Reset'/>
<input type='reset' class='button' value='Discard' name='Reset'/>
</td>
</tr>
</table>
</form>
</center>
</body>
</html>
답장을 보내 주셔서 감사합니다. 사용자가 메일을 작성할 때받는 사람이 메시지를 표시하고받는 사람이 답장 버튼을 클릭 할 때 첨부 파일을 보낼 수있는 부분은 첨부 된 첨부 파일을 다시 보내야한다는 것입니다. file 태그의 기능을 제공하지 않고 sendmail.java를 composereplymail.jsp로 되돌립니다. –
또한 비슷한 메일을 전달해야하므로 유사하게 코딩해야하지만 문제는 위에서 언급 한 것입니다. –
전달이 회신과 다르므로 첨부 파일을 원할 것입니다. 내가 가리킨 예를 보았 니? 메시지 전달에 대해 설명하는 JavaMail FAQ 항목을 참조하십시오. –