javaMail 메일 발송 오류 요약

3698 단어 javamail
1. MIME 메일 보내기 오류
JavaMail Exception: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
2011-2-19 20:24
질문자:pplovingicer
|
현상분:15
|
조회 횟수: 2441회
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
 at com.sun.net.ssl.internal.ssl.InputRecord.handleUnknownRecord(InputRecord.java:523)
 at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:355)
 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:789)
 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1112)
 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1139)
 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1123)
 at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:503)
 at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:234)
 at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1672)
 ... 19 more

해결 방법:
JavaMail의 Properties를 설정할 때 "mail.smtp.socketFactory.class"를 지정하지 마십시오. 왜냐하면 TLS는 일반적인 Socket을 사용하기 때문입니다.
그리고 "mail.smtp.starttls.enable"속성을 "true"로 지정합니다.
코드는 다음과 같습니다.
[email protected]"/ > true true
2. 일반 텍스트 메일 보내기
Exception in thread "main"java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
at javax.mail.internet.MimeUtility.(MimeUtility.java:1161)
at javax.mail.internet.InternetAddress.setPersonal(InternetAddress.java:216)
at org.apache.commons.mail.Email.createInternetAddress(Email.java:525)
at org.apache.commons.mail.Email.addTo(Email.java:653)
at org.apache.commons.mail.Email.addTo(Email.java:636)
at com.herostart.framework.zh.mail.MailServiceImpl.sendMailBySynchronizationMode(MailServiceImpl.java:85)
at com.herostart.framework.zh.mail.MailServiceImpl.sendMail(MailServiceImpl.java:52)
at com.herostart.framework.zh.mail.MailServiceImpl.sendMail(MailServiceImpl.java:36)
at com.herostart.framework.zh.mail.MailServiceImpl.main(MailServiceImpl.java:151)
javamail로 메일을 보낼 때 "java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream"같은 오류가 발생했습니다.
javax.메일과javax.activation 이 두 가방은 이미javaEE5에서 기초 가방에 속한다. 바로 MyEclipse에서 이미 자체로 가지고 있는 것이다.그런데 안에 있는 방법.
최신 JDK의 javamail 패키지와 일치하지 않아 발생한 오류
해결 방법:
MyEclipse의 설치 디렉터리에 들어갑니다. (이것은 제 기계의 MyEclipse 설치 디렉터리입니다. 아마도 당신은 다를 것입니다.)
D:\MyEclipse6.5\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_6.5.0.zmyeclipse650200806\data\libraryset\EE_오
이 디렉터리에서javaee를 볼 수 있습니다.jar 패키지, 압축 소프트웨어를 두 번 눌러서 이 패키지 파일을 열고 javax 폴더에 들어가서mail 디렉터리와activation 디렉터리를 삭제합니다. jar 패키지일 수도 있습니다.
삭제한 후에 코드를 실행하면 오류가 발생하지 않습니다. 물론javaee 전체를 삭제하지 마십시오.jar 패키지가 삭제되었습니다. 그 안에 servlet과 같은 다른 많은 기능 패키지가 있습니다. 다른 기능을 인용하면 오류가 발생할 수 있습니다.
마지막으로 최신 추가
mail.jar와 activation.자르는 오케이.

좋은 웹페이지 즐겨찾기