首页 > 编程 > Java > 正文

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

2019-11-26 15:05:27
字体:
来源:转载
供稿:网友

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表