Java examples for Network:EMail
send Mail Auth
import java.io.File; import java.io.UnsupportedEncodingException; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Authenticator; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.mail.internet.MimeUtility; public class Main{ /*from www . ja v a 2s .c om*/ private static final String DEFAULT_CHARSET = "euc-kr"; public static void sendMailAuth(String smtpHost, String smtpPort, String smtpUser, String smtpPassword, String subject, String content, String toEmail, String fromEmail, String fromName) throws UnsupportedEncodingException, MessagingException { sendMailAuth(smtpHost, smtpPort, smtpUser, smtpPassword, subject, content, toEmail, fromEmail, fromName, DEFAULT_CHARSET, null); } public static void sendMailAuth(String smtpHost, String smtpPort, String smtpUser, String smtpPassword, String subject, String content, String toEmail, String fromEmail, String fromName, String charset) throws UnsupportedEncodingException, MessagingException { sendMailAuth(smtpHost, smtpPort, smtpUser, smtpPassword, subject, content, toEmail, fromEmail, fromName, charset, null); } public static void sendMailAuth(String smtpHost, String smtpPort, String smtpUser, String smtpPassword, String subject, String content, String toEmail, String fromEmail, String fromName, String charset, File[] attachFiles) throws UnsupportedEncodingException, MessagingException { Properties props = new Properties(); props.put("mail.smtp.host", smtpHost); props.put("mail.smtp.port", smtpPort); props.put("mail.smtp.user", smtpUser); props.put("mail.smtp.auth", true); MyAuthenticator auth = new MyAuthenticator(smtpUser, smtpPassword); Session session = Session.getDefaultInstance(props, auth); sendMail(subject, content, toEmail, fromEmail, fromName, charset, attachFiles, session); } private static void sendMail(String subject, String content, String toEmail, String fromEmail, String fromName, String charset, File[] attachFiles, Session session) throws UnsupportedEncodingException, MessagingException { MimeMessage message = new MimeMessage(session); InternetAddress addr = new InternetAddress(fromEmail, fromName, charset); message.setFrom(addr); message.setSubject(subject); message.addRecipient(Message.RecipientType.TO, new InternetAddress( toEmail)); if (attachFiles == null) { message.setContent(content, "text/html; charset=" + charset); } else { Multipart multipart = new MimeMultipart(); BodyPart messageBodyPart = new MimeBodyPart(); messageBodyPart.setText(content); multipart.addBodyPart(messageBodyPart); for (File f : attachFiles) { BodyPart fileBodyPart = new MimeBodyPart(); FileDataSource fds = new FileDataSource(f); fileBodyPart.setDataHandler(new DataHandler(fds)); fileBodyPart.setFileName(MimeUtility.encodeText( f.getName(), charset, "B")); multipart.addBodyPart(fileBodyPart); } message.setContent(multipart); } Transport.send(message); } }