JavaMail은 SSL을 통해 이메일을 전송합니다.

2364 단어 .netSecuritysun
 
public static int sendEmail2(String protocol, String auth, String ssl,
			String port, String host, String user, String pwd,
			String recipients[], String subject, String content, String from)
			throws AddressException, MessagingException {

		Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());

		final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";

		// Get a Properties object

		Properties props = System.getProperties();

		if (ssl != null && ssl.equals("yes")) {
			props.setProperty("mail.smtp.host", host);

			props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);

			props.setProperty("mail.smtp.socketFactory.fallback", "false");

			props.setProperty("mail.smtp.port", "465");

			props.setProperty("mail.smtp.socketFactory.port", "465");
		} else {
			props.put("mail.host", host);
			props.put("mail.port", port);
		}

		if (auth != null && auth.equals("yes"))
			props.put("mail.smtp.auth", "true");
		else
			props.put("mail.smtp.auth", "false");

		final String username = user;

		final String password = pwd;

		Session session = Session.getDefaultInstance(props,
				new Authenticator() {

					protected PasswordAuthentication getPasswordAuthentication() {

						return new PasswordAuthentication(username, password);

					}
				});

		JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
		mailSender.setJavaMailProperties(props);

		MimeMessage mimeMessage = new MimeMessage(session);
		MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true,
				"utf-8");
		helper.setTo(recipients);
		helper.setFrom(from);
		helper.setSubject(subject);
		helper.setText(content, true);

		mailSender.setUsername(username);
		mailSender.setPassword(password);
		mailSender.send(mimeMessage);

		System.out.println("Message sent.");
}
 

좋은 웹페이지 즐겨찾기