[질문] jsp 메일 보내기 에러

kyocloud의 이미지

좀 봐주세요~
에러가 대체 뭔 내용인지 모르겠음... ㅠ.ㅠ

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Exception in JSP: /member/send_finished.jsp:51

48: // Multi Part content
49: message.setContent(multipart);
50: //
51: Transport.send(message);
52: %>
53:
54:

Stacktrace:
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
 
root cause
 
javax.servlet.ServletException
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
	org.apache.jsp.member.send_005ffinished_jsp._jspService(send_005ffinished_jsp.java:127)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
 
root cause
 
javax.mail.internet.ParseException
	javax.mail.internet.ParameterList.<init>(ParameterList.java:75)
	javax.mail.internet.ContentDisposition.<init>(ContentDisposition.java:70)
	javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1040)
	javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:790)
	javax.mail.internet.MimeMultipart.updateHeaders(MimeMultipart.java:216)
	javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1021)
	javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:1841)
	javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:1822)
	javax.mail.Transport.send(Transport.java:80)
	org.apache.jsp.member.send_005ffinished_jsp._jspService(send_005ffinished_jsp.java:102)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
 
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.27 logs.
 
 
밑에는 소스 코드입니다...
 
<code>
<%@ page import="java.util.*" %>
<%@ page import="javax.activation.*"%>
<%@ page import="javax.mail.*"%>
<%@ page import="javax.mail.message.*"%>
<%@ page import="javax.mail.internet.*"%>
<%@ page import="javax.mail.transport.*"%>
<%@ page contentType="text/html;charset=euc-kr" %>
<% request.setCharacterEncoding("euc-kr"); %>
<%
    String host = "192.168.40.128"; 
    String charType = "euc-kr";
    String name = (String)request.getParameter("name");
    String from_email = (String)request.getParameter("from_email");
    String to_email = (String)request.getParameter("to_email");
    String subject = (String)request.getParameter("subject");
    String mail_content = (String)request.getParameter("mail_content");
    String file_box = (String)request.getParameter("file_box");
%>
<%
    //
    Properties props = new Properties(); 
    props.put("mail.smtp.host", host); 
 
    // Session
    Session s = Session.getInstance(props, null); 
 
    // MimeMessage 
    MimeMessage message = new MimeMessage(s); 
    InternetAddress addr = new InternetAddress(from_email, name, charType);         
    message.setFrom(addr); 
    message.setSubject(subject);         
    message.addRecipient(Message.RecipientType.TO, new InternetAddress(to_email));
    // Multi Part 
    Multipart multipart = new MimeMultipart();
 
    // BodyPart Mutil Part  
    BodyPart messageBodyPart = new MimeBodyPart(); 
    messageBodyPart.setText(mail_content);     
    multipart.addBodyPart(messageBodyPart);
 
    // BodyPart Multi Part  
    BodyPart fileBodyPart = new MimeBodyPart(); 
    DataSource source = new FileDataSource(file_box);
    fileBodyPart.setDataHandler(new DataHandler(source)); 
    fileBodyPart.setFileName(file_box);
    multipart.addBodyPart(fileBodyPart);
 
    // Multi Part content 
    message.setContent(multipart);
    //
    Transport.send(message);
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
        <meta http-equiv="content-script-type" content="text/javascript">
        <meta http-equiv="content-style-type" content="text/css">
        <TITLE>Sending Mail</TITLE>
    </head>
    <BODY>
        <table border="1">
            <tr>
                <td>Successed Mailing!
            </tr>
        </table>
    </body>

김정균의 이미지

흠.. 원하시는 답은 아니지만.. subject 를 encoding 하지 않고 계시네요. 요즘 gmail imap 땜시.. 이런 메일들이 발송되면 제목이 다 깨져서 나와서 신경이 곤두서서 제기해 봅니다.

그리고 html part 를 작성할 때는 body tag만 작성을 하는 것이 규약입니다. html tag 와 head tag는 작성하지 않는 것이 원칙 입니다. 물론 mail client들이 parsing 을 해 주기는 하지만..

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.