本文實例講述了java實現基于SMTP發送郵件的方法。分享給大家供大家參考。具體實現方法如下:
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); } }}
希望本文所述對大家的java程序設計有所幫助。
新聞熱點
疑難解答