软件编程
位置:首页>> 软件编程>> java编程>> java实现基于SMTP发送邮件的方法

java实现基于SMTP发送邮件的方法

作者:答复哈  发布时间:2023-04-06 12:22:07 

标签:java,SMTP,邮件

本文实例讲述了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程序设计有所帮助。

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com