发送邮件

package com.util;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeUtility;

import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;

/**

 * 邮件工具类

 * javax.mail-1.5.6.jar
 * @author zm
 *
 */
public class MailUtil {

    private static Object obj = new Object();
    
    /**
     * 发送邮件1
     * @param to 接收人邮件地址
     * @param subject    标题
     * @param text    内容
     * @return
     */
    public static boolean sendHtml(String to, String subject, String html) {
        try {
            synchronized (obj) {
                // 发送器  
                  JavaMailSenderImpl sender = new JavaMailSenderImpl();  
                  sender.setHost(Constant.SYS_EMAIL_HOST);  //smtp.exmail.qq.com
                  sender.setPort(25); // 默认就是25  
                  sender.setUsername(Constant.SYS_EMAIL_NAME);   
                  sender.setPassword(Constant.SYS_EMAIL_PASSWORD);  
                  sender.setDefaultEncoding("UTF-8");  
                  // 配置文件对象  
                  Properties props = new Properties();      
                  props.put("mail.smtp.auth", "true"); // 是否进行验证  
                  Session session = Session.getInstance(props);  
                  sender.setSession(session); // 为发送器指定会话  
                    
                  MimeMessage mail = sender.createMimeMessage();  
                  MimeMessageHelper helper = new MimeMessageHelper(mail);  
                  helper.setTo(to); // 发送给谁  
                  helper.setSubject(subject); // 标题  
                  helper.setFrom(new InternetAddress(MimeUtility.encodeText("中国")+"<"+Constant.SYS_EMAIL_NAME+">")); // 来自  
                  // 邮件内容,第二个参数指定发送的是HTML格式  
                  helper.setText(html,true);  
                  sender.send(mail); // 发送  
            }
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
        return true;
    }
    
    /**
     * 发送邮件2
     * @param to 接收人邮件地址
     * @param subject    标题
     * @param text    内容
     * @return
     */
    public static boolean sendText(String to, String subject, String text) {
        Transport transport = null;
        try {
            synchronized (obj) {
                // 发送邮件初始化
                Properties props = new Properties();
                // 设置SMTP主机
                props.put("mail.smtp.host", Constant.SYS_EMAIL_HOST);
                // 设置SMTP属性验证
                props.put("mail.smtp.auth", true);
                // 获得邮件会话对象
                Session session = Session.getDefaultInstance(props);
                session.setDebug(false);
                // 创建MIME邮件对象
                MimeMessage message = new MimeMessage(session);
                message.setFrom(new InternetAddress(MimeUtility.encodeText("中国")+"<"+Constant.SYS_EMAIL_NAME+">"));
                // 创建SMTP邮件协议发送对象
                transport = session.getTransport("smtp");
                transport.connect((String) props.get("mail.smtp.host"), Constant.SYS_EMAIL_NAME, Constant.SYS_EMAIL_PASSWORD);
                
                message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
                message.setSubject(subject);
                message.setText(text);
                transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
            }
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        } finally {
            try {
                if (transport != null) {
                    transport.close();
                }
            } catch (MessagingException e) {
                e.printStackTrace();
                return false;
            }
        }
        return true;
    }

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值