javaMail 메일 발송 오류 요약
3698 단어 javamail
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"로 지정합니다.
코드는 다음과 같습니다.
2. 일반 텍스트 메일 보내기
Exception in thread "main"java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
at javax.mail.internet.MimeUtility.
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.자르는 오케이.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
javamail_메일 수신_pop3 수신 메일 디코딩 문제Transport 클래스, Store 클래스: 정보를 보내는 클래스로 Store 클래스와 어떤 의미에서 보면 상반된다.이 종류가 가장 많이 쓰이는 것은send 방법이다.메시지 대상을 설정한 후send(메시지)를 호출...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.