질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

javamail 프로그램으로 pc에서 메일 전송 Error

작성자 정보

  • 메일유저 작성
  • 작성일

컨텐츠 정보

본문

아래와 같은 간단한 자바메일 프로그램을 작성하였읍니다.

유닉스 서버(solaris 2.7, 호스트 이름 star) 에서 sendmail을 올리고 아래 프로그램을 smtp 서버를 star로 하고 PC에서  실행을 시키면 자꾸만 "500 5.1.1 invalid domain name" 이라는 Exception이 뜨네요..

위 프로그램을 star 에서 또는 같은 C 클래스 ip 망에 있는 유닉스 머신에서 돌리면 정상적으로 수행이 되는데요..

혹시나 해서 pc의 domain name 부분에 메일서버 star ip를 DNS로 등록을 하고 DNS 접미사를 추가 해주었는데도 계속 같은 Exception이 발생합니다.

참고적으로 아래 프로그램은 java mailTest star 이렇게 실행을 시킵니다.

물론 pc의 HOST 파일에는 xxx.xxx.xxx.xxx star 하고 적어두었구요..

많은 도움 부탁드립니다. 감사합니다. 

--- 아 래 ---

import java.io.*;
import java.util.Properties;
import java.net.*;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
//import my.util.*;

class Han
{
        public static String con(String value)
        {
                try{
                String strRet = new String(value.getBytes("8859_1"),"KSC5601");
                return strRet;
                }catch(Exception e)
                {
                        return null;
                }
        }
        public static String recon(String value)
        {
                try{
                String strRet = new String(value.getBytes("KSC5601"),"8859_1");
                return strRet;
                }catch(Exception e)
                {
                        return null;
                }
        }
}


class Mail{
/**
host : smtp 서버주소
from : 보내는 사람 email
to : 받는 사람 email
subject : 제목
content : 본문내용
*/
        public static void sendHtmlMessage(String host, String from, String to, String subject, String content) throws Exception{
                try {
                // Get system properties
                Properties props = System.getProperties();
                // Setup mail server
                props.put("mail.smtp.host", host);
                // Get session
                Session session = Session.getDefaultInstance(props, null);


                // Create the message
                Message message = new MimeMessage(session);

                // Fill its headers
                message.setSubject(subject);
                message.setFrom(new InternetAddress(from));
                message.addRecipient(Message.RecipientType.TO,
                  new InternetAddress(to));


                // Create your new message part
                BodyPart messageBodyPart = new MimeBodyPart();
                String htmlText = Han.recon(content);
                messageBodyPart.setContent(htmlText, "text/html");

                // Create a related multi-part to combine the parts
                MimeMultipart multipart = new MimeMultipart("related");
                multipart.addBodyPart(messageBodyPart);

                // Associate multi-part with message
                message.setContent(multipart);

                Transport.send(message);
                } catch( Exception e ) {
                        System.out.println(e) ;
                }
        }
}

public class mailTest {

        public static void main(String args[]) {
                try {
                //Mail.sendHtmlMessage( "localhost", "test", test@hotmail.com, "Test", "Test" ) ;
                Mail.sendHtmlMessage( args[0], "test", "test@hotmail.com", "Test", "Test" ) ;

                } catch( Exception e ) {
                        System.out.println(e) ;
                }
        }
}

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,138 명
  • 현재 강좌수 :  36,196 개
  • 현재 접속자 :  843 명