으니
106
2019-04-15 14:06:43 작성 2019-04-15 15:01:49 수정됨
6
374

[자바]이메일 보내기 //로컬은 보내진는데 정작 서버반영 해서는 안됩니다..이유가 뭘까요



// 받는 사람 E-Mail 주소
    			String mail = SellerEmail;  // 받는 사람 email		
    			
    			try {
    				HtmlEmail email = new HtmlEmail();
    				email.setDebug(true);
    				email.setCharset(charSet);
    				//email.setSslSmtpPort("587");
    				email.setSSL(true);
    				email.setHostName(hostSMTP);
    				email.setSmtpPort(465);	// SMTP 포트 번호 입력

    				email.setAuthentication(hostSMTPid, hostSMTPpwd);
    				email.setTLS(true);
    				email.addTo(mail, charSet);
    				email.setFrom(fromEmail, fromName, charSet);
    				email.setSubject(subject);
    				email.setHtmlMsg(msg); // 본문 내용
    				email.send();			
    			} catch (Exception e) {
    				System.out.println(e);
    			}

ssl false 가 자꾸나는데 위에 보시면 분명 setSSL true 가되있거든요 ㅠㅠ.. 자꾸 false나는 이유를 모르겠구요 .. 

밑에는 로컬에서 구동했을때 이상없이 진행된거구요 

DEBUG: JavaMail version 1.4.2

DEBUG: successfully loaded resource: /META-INF/javamail.default.providers

DEBUG: Tables of loaded providers

DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]}

DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]}

DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map

DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]

DEBUG SMTP: useEhlo true, useAuth true

DEBUG SMTP: useEhlo true, useAuth true

DEBUG SMTP: trying to connect to host "smtp.naver.com", port 465, isSSL false

220 smtp.naver.com ESMTP 1fUQsz17TLGhWEyPRlLeWA - nsmtp

DEBUG SMTP: connected to host "smtp.naver.com", port: 465



EHLO DESKTOP-IJKOSB7

250-smtp.naver.com Pleased to meet you

250-SIZE 20971520

250-8BITMIME

250-PIPELINING

250-AUTH PLAIN LOGIN

250 ENHANCEDSTATUSCODES

DEBUG SMTP: Found extension "SIZE", arg "20971520"

DEBUG SMTP: Found extension "8BITMIME", arg ""

DEBUG SMTP: Found extension "PIPELINING", arg ""

DEBUG SMTP: Found extension "AUTH", arg "PLAIN LOGIN"

DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""

DEBUG SMTP: Attempt to authenticate

DEBUG SMTP: check mechanisms: LOGIN PLAIN DIGEST-MD5 

AUTH LOGIN

235 2.7.0 Accepted 1fUQsz17TLGhWEyPRlLeWA - nsmtp

DEBUG SMTP: use8bit false

MAIL FROM:<jungle@naver.com>

250 2.1.0 OK 1fUQsz17TLGhWEyPRlLeWA - nsmtp

RCPT TO:<sung@naver.com>

250 2.1.5 OK 1fUQsz17TLGhWEyPRlLeWA - nsmtp

DEBUG SMTP: Verified Addresses

DEBUG SMTP:   utf-8 <sung@naver.com>

DATA

354 Go ahead 1fUQsz17TLGhWEyPRlLeWA - nsmtp

Date: Mon, 15 Apr 2019 13:51:51 +0900 (KST)

From: =?UTF-8?B?7KCV6riA7Yyo7IWY?= <jung@naver.com>

To: utf-8 <sung@naver.com>

Message-ID: <1179026011.1.1555303911420.JavaMail.javamailuser@localhost>

Subject: =  "제목"=MIME-Version: 1.0

Content-Type: multipart/mixed; 
  "내용들 ~"
	boundary="----=_Part_0_1297375973.1555303911371"



------=_Part_0_1297375973.1555303911371

Content-Type: text/html; charset=UTF-8

Content-Transfer-Encoding: quoted-printable



------=_Part_0_1297375973.1555303911371--

.

250 2.0.0 OK 1fUQsz17TLGhWEyPRlLeWA - nsmtp

여기 밑에는 서버에서 진행했을때의 모습입니다.

서버에서 로그 이렇게만보여주고 더이상 진행을 안하고 멈추네요.. (이미지는 새창열어서 보실수 있어요 ㅠ)

jar는 commons-mail 1.2 / java mail 1.4.4 를 사용했구요 .. 로컬에선 이메일이발송도 잘되고 gmail 이나 naver나 이상없었는데 서버에서는 naver가 안되네요.. 찾아보니깐 jar끼리 충돌도 있을수 있고 아니면 코드상문제일수도있고 아니면 네이버 인증서 에 대한 문제 일수도있다고는 하는데 뭐가 먼지를 도저히 모르겠네욥.. 



무슨에러라도 뜨면 좋으련만 아무것도 안뜨니 뭐가 문제인지도 모르겠네요....같은 소스인데도 로컬 서버 다른게 적용되는것도 ..

0
0
  • 답변 6

  • yoonjunghyn
    270
    2019-04-15 16:48:48

    outbound 방화벽이 막혀 있는거 아닌가요

    telnet으로 내부 방화벽이 해당 smtp 465 포트가 열려있나 확인해 보세요

    0
  • 으니
    106
    2019-04-15 17:06:44 작성 2019-04-15 17:14:48 수정됨

    putty로 확인이 가능할까요? 

    0
  • yoonjunghyn
    270
    2019-04-15 17:18:04

    네 putty에서 운영서버 로그인 후 콘솔에서 telnet smtp.naver.com 465 날려 보세요

    로컬은 대부분 outbound 포트가 안막혀 있으니 실행이 되지만 운영서버에서는 보안상 허가 된 포트 외에는

    막아 놓는 경우도 있습니다.

    로컬 cmd창 열고 telnet 날리시면 바로 접속 되는거 보실텐데 운영서버에서 telnet 전송 후 타임아웃 발생하면 막혀있는 겁니다

    0
  • 으니
    106
    2019-04-15 17:22:17 작성 2019-04-15 17:47:19 수정됨

    서버 배포해주는 사이트에서 outbound 포트 확인해보니 없는 것을 확인하였습니다 아직 해보진 않았는데 해보고나서 다시 댓글 남기겠습니다 ㅎ 감사합니다 .. 아무것도 모르고 있는 상태에서 정말 막막했는데 ㅎ


    0
  • yoonjunghyn
    270
    2019-04-15 17:52:22

    telnet 명령어가 실행이 안되나요?

    그럼 nc 명령어로 포트 스캔 해보세요. 사용법은 네이버에 리눅스 nc 치시면 나올 겁니다.

    암튼 로컬에서는 정상 실행 되는데 운영 환경에서 smtp.naver.com 465 포트에 connect 가 안되는건

    내부 방화벽이 막혀서 통신이 안되는 것으로 보이네요

    0
  • 으니
    106
    2019-04-15 18:03:12 작성 2019-04-15 18:09:14 수정됨

    서버 배포 사이트에서 포트 추가하고 실행한 결과입니다. 

    emailexception 이 나오네요 ..흠...다행이에요 그래도 ception이라도 나와서요 ㅠㅠ...해당부분에대해 찾아보겠습니다!

    --------------윗부분 동일 

    220 smtp.gmail.com ESMTP e4sm93877224pfh.146 - gsmtp
    
    DEBUG SMTP: connected to host "smtp.gmail.com", port: 465
    
    
    
    EHLO
    
    501-5.5.4 Empty HELO/EHLO argument not allowed, closing connection.
    
    501 5.5.4  https://support.google.com/mail/?p=helo e4sm93877224pfh.146 - gsmtp
    
    HELO
    
    DEBUG SMTP: EOF: [EOF]
    
    org.apache.commons.mail.EmailException: Sending the email to the following serve                                          r failed : smtp.gmail.com:465
    
    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.