java利用spring发邮件

spring环境,还要引入一个jar

<!-- https://mvnrepository.com/artifact/javax.mail/com.springsource.javax.mail -->
<dependency>
	<groupId>javax.mail</groupId>
	<artifactId>com.springsource.javax.mail</artifactId>
	<version>1.4.0</version>
</dependency>
public class EmailUtil {
	
	/** 读取配置文件,封装的读取配置文件 */
    private static Properties mailProperties = PropertyLoader.getPropertyByPath(Constants.CONFIG_FILE_PATH + "mail.properties");

    /** PORT  参数 25 */
    private static final Integer PORT = Integer.valueOf(mailProperties.getProperty("mail.sender.port").trim());

    /** host ,邮件服务器域名*/
    private static final String MAIL_SMTP_HOST = mailProperties.getProperty("mail.smtp.host").trim();

    /** user_name,发邮件的邮箱 */
    private static final String USER_NAME = mailProperties.getProperty("mail.sender.username").trim();

    /** passWord,密码 */
    private static final String PASS_WORD = mailProperties.getProperty("mail.sender.password").trim();

    /** 初始化邮件发送实体 */
    private static final JavaMailSenderImpl mailSend = createMailSender();
    
    /** 初始化消息  */
    private static final MimeMessage mimeMessage = mailSend.createMimeMessage();
    
    /** 邮件助手 */
    private static MimeMessageHelper mimeMessageHelper;
    
    /** 初始化消息助手 */
    static{
    	try {
    		 mimeMessageHelper = new MimeMessageHelper(mimeMessage,true,"UTF-8");
    		 mimeMessageHelper.setFrom(USER_NAME);
     	} catch (MessagingException e) {
			e.printStackTrace();
		}
    }
    
    //初始化邮件实体
    private static JavaMailSenderImpl createMailSender(){
        JavaMailSenderImpl sender = new JavaMailSenderImpl();
        sender.setHost(MAIL_SMTP_HOST);//发送主机
        sender.setPort(PORT);
        sender.setUsername(USER_NAME);//发送邮箱
        sender.setPassword(PASS_WORD);//密码
        sender.setDefaultEncoding("utf-8");
       
        Properties p = new Properties();
        p.setProperty("mail.smtp.timeout","25000");
        //是否需要密码。
        p.setProperty("mail.smtp.auth","true");
        
        sender.setJavaMailProperties(p);
        return sender;
    }
    /**
     * 
     * 发送邮件
     * 
     * @param orgName
     *            邮件名称
     * @param letter
     *            邮件内容  纯文本
     * @param html
     * 			  html格式    最好和纯文本其中一个为空串,否则可能会导致邮件格式混乱
     * @param email
     *            邮箱地址
     */
    public static void sendEmail(String orgName, String letter,String html, String email) {
        if (StringUtils.isBlank(orgName) || StringUtils.isBlank(email)) {
            return;
        }
        //不允许都为null和空串。
        if (StringUtils.isBlank(letter) && StringUtils.isBlank(html)) {
			return;
		}

        if (!validateEmail(email)) {
            return;
        }
        //进行配置
        try {	       
			mimeMessageHelper.setTo(email);
			mimeMessageHelper.setSubject(orgName);
			mimeMessageHelper.setText(letter,html);
			mailSend.send(mimeMessage);
		} catch (MessagingException e) {
			System.out.println("-------------邮件发送异常------------");
		}
    }
}

猜你喜欢

转载自blog.csdn.net/dd2507935398/article/details/84342014