TLS/SSL 자바 메 일 사용
7318 단어 javamail
// get the mail configuration options
String mailHost = servletConfig.getServletContext().getInitParameter(
"mailHost"
);
String mailTo = servletConfig.getServletContext().getInitParameter(
"mailTo"
);
String mailFrom = servletConfig.getServletContext().getInitParameter(
"mailFrom"
);
String mailUser = servletConfig.getServletContext().getInitParameter(
"mailUser"
);
String mailPassword = servletConfig.getServletContext().getInitParameter(
"mailPassword"
);
String mailTls = servletConfig.getServletContext().getInitParameter(
"mailTls"
);
String mailSsl = servletConfig.getServletContext().getInitParameter(
"mailSsl"
);
String mailPort = servletConfig.getServletContext().getInitParameter(
"mailPort"
);
String mailDebug = servletConfig.getServletContext().getInitParameter(
"mailDebug"
);
// check on the parameters
if
(mailHost ==
null
|| mailTo ==
null
|| mailFrom ==
null
) {
throw
new
ServletException(
"Unable to get mail init parameters"
);
}
// Build the message
StringBuilder message =
new
StringBuilder(
"Start messagen"
);
// add the rest of the message
message.apppend(
"line by line construct the message"
);
// set the base properties for sending email
Properties mailProperties = System.getProperties();
mailProperties.put(
"mail.transport.protocol"
,
"smtp"
);
mailProperties.put(
"mail.smtp.host"
, mailHost);
// check to see if we need to use a non standard port
if
(mailPort !=
null
) {
mailProperties.put(
"mail.smtp.port"
, mailPort);
}
// check to see if we need to use SSL
if
(mailSsl !=
null
) {
mailProperties.put(
"mail.smtp.ssl.enable"
,
"true"
);
mailProperties.put(
"mail.smtp.ssl.trust"
,
"*"
);
if
(mailPort !=
null
) {
mailProperties.put(
"mail.smtp.socketFactory.port"
, mailPort);
}
else
{
// assume default standard port for SSL SMTP
mailProperties.put(
"mail.smtp.socketFactory.port"
,
"465"
);
}
mailProperties.put(
"mail.smtp.socketFactory.class"
,
"javax.net.ssl.SSLSocketFactory"
);
mailProperties.put(
"mail.smtp.socketFactory.fallback"
,
"false"
);
}
// check to see if we need to output debug messages
if
(mailDebug !=
null
&& mailDebug.equals(
"yes"
)) {
mailProperties.put(
"mail.debug"
,
"true"
);
}
// do we need to use TLS?
if
(mailTls !=
null
&& mailTls.equals(
"yes"
)) {
mailProperties.put(
"mail.smtp.starttls.enable"
,
"true"
);
}
// start the email session
Session mailSession;
// do we need to do authentication
if
(mailUser !=
null
) {
mailProperties.put(
"mail.smtp.auth"
,
true
);
mailSession = Session.getInstance(mailProperties,
new
SMTPAuthenticator(mailUser, mailPassword));
}
else
{
mailSession = Session.getInstance(mailProperties,
null
);
}
try
{
// construct the message
Message mailMessage =
new
MimeMessage(mailSession);
// base object
mailMessage.setFrom(
new
InternetAddress(mailFrom));
// set from address
mailMessage.setRecipients(Message.RecipientType.TO, InternetAddress.parse(mailTo,
false
));
// set to address
mailMessage.setSubject(
"Email subject"
);
// subject
mailMessage.setText(message.toString());
// body of the message
// add additional headers
mailMessage.setHeader(
"X-Mailer"
,
"JavaMail"
);
mailMessage.setSentDate(
new
Date());
// send the message
Transport.send(mailMessage);
}
catch
(javax.mail.internet.AddressException ex) {
throw
new
ServletException(
"Unable to prepare mail message"
, ex);
}
catch
(javax.mail.MessagingException ex) {
throw
new
ServletException(
"Unable to send mail message"
, ex);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.