返回顶部

收藏

java发邮件 代码

更多

[Java]代码

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,mail,SMTP,JavaMail

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. H.E. 发表 2010-08-11 15:41:47 百万级 大型J2EE Push Mail 项目后记 3
  2. 邓龙华 发表 2016-01-22 14:49:05 [第 30 期] Android 周报
  3. 公子 发表 2016-07-11 09:31:06 Ubuntu配置mail服务使用SMTP用户验证发送邮件
  4. zhuangli 发表 2018-03-01 15:51:59 spring通过QQ邮箱发送Email
  5. 有梦最美,希望相随 发表 2014-08-01 07:38:13 Devise Mail By 163 SMTP
  6. Harries 发表 2016-03-10 15:24:45 jQuery中JSONP的两种实现方式:
  7. 海运 发表 2018-04-15 11:26:45 golang通过qq mail smtp ssl发送邮件
  8. xubiao.zhuang 发表 2018-06-08 11:41:09 面向接口设计与角色接口
  9. 馒头 发表 2013-03-11 02:30:35 wp-db-backup备份数据库出现错误:Only variables should be pas
  10. Joy Chao 发表 2012-10-13 05:03:12 简单的PHP邮件发送类
  11. 博主 发表 2014-12-24 07:54:56 JavaMail简介
  12. H.E. 发表 2010-07-31 01:42:24 百万级 J2EE Push Mail 项目后记