欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-03-05 19:10:55
本文实例讲述了java实现基于smtp发送邮件的方法。分享给大家供大家参考。具体实现方法如下: import java.util.date; import ja...

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