SMTP發送郵件

openkk 13年前發布 | 6K 次閱讀 代碼分享

import java.util.Date;
import java.util.Properties;

import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage;

import org.apache.log4j.Logger;

public class MailUtil {

private static Logger logger = Logger.getLogger(MailUtil.class);

/**
 * 發送郵件
 * 
 * @param smtp
 *            SMTP服務器
 * @param user
 *            用戶名
 * @param password
 *            密碼
 * @param subject
 *            標題
 * @param content
 *            郵件內容
 * @param from
 *            發件人郵箱
 * @param to
 *            收件人郵箱
 */
public static void send(String smtp, final String user,
        final String password, String subject, String content, String from,
        String to) {
    try {
        Properties props = new Properties();
        props.put("mail.smtp.host", smtp);
        props.put("mail.smtp.auth", "true");
        Session ssn = Session.getInstance(props, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(user, password);
            }

        });
        MimeMessage message = new MimeMessage(ssn);//由郵件會話新建一個消息對象 
        InternetAddress fromAddress = new InternetAddress(from);//發件人的郵件地址 
        message.setFrom(fromAddress);//設置發件人 
        InternetAddress toAddress = new InternetAddress(to);//收件人的郵件地址 
        message.addRecipient(Message.RecipientType.TO, toAddress);//設置收件人
        message.setSubject(subject);//設置標題
        message.setText(content);//設置內容
        message.setSentDate(new Date());//設置發信時間 

        Transport transport = ssn.getTransport("smtp");
        transport.connect(smtp, user, password);
        transport.sendMessage(message, message
                .getRecipients(Message.RecipientType.TO));
        // transport.send(message);
        transport.close();
        logger.info("郵件發送成功");
    } catch (Exception e) {
        logger.warn("郵件發送失敗", e);
    }
}

}</pre>

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!