发邮件 maven

一、 maven项目下发邮件:

1. 依赖jar包导入

<dependency>
        <groupId>javax.mail</groupId>  
        <artifactId>mail</artifactId>  
        <version>1.4.7</version>  
 </dependency>    

2.spring.xml

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
        <property name="locations">  
            <list>  
                <value>classpath:mail.properties</value>  
               <!-- <value>classpath:myconn.properties</value>  -->
            </list>  
        </property>  
    </bean>
 <!-- 邮件发送器 163  -->  
    <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">  
        <property name="host" value="${mail.host}" />  
        <property name="username" value="${mail.username}" />  
        <property name="password" value="${mail.password}" />  
        <property name="defaultEncoding" value="UTF-8"></property>  
        <property name="javaMailProperties">  
            <props>  
                <prop key="mail.smtp.auth">${mail.smtp.auth}</prop>  
                <prop key="mail.smtp.timeout">${mail.smtp.timeout}</prop> 
            </props>  
        </property>  
    </bean> 

3. MailBean.java

public class MailBean {
    private String from;  
    private String fromName;  
    private String[] toEmails;  
    private String subject;
    private String context;

    //get,set方法
}

4. MailSenderService.java

import java.io.UnsupportedEncodingException;
 
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;

import com.dzt.pojo.MailBean;
@Service
public class MailSenderService {
    @Autowired
    private JavaMailSenderImpl javaMailSenderImpl;
    
    /**
     * @param mailBean
     * @return
     * @throws MessagingException 
     * @throws UnsupportedEncodingException 
     */
    public MimeMessage createMimeMessage(MailBean mailBean) throws MessagingException, UnsupportedEncodingException{
        MimeMessage mimeMessage = javaMailSenderImpl.createMimeMessage();
        MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
        messageHelper.setFrom(mailBean.getFrom(), mailBean.getFromName()); 
        messageHelper.setSubject(mailBean.getSubject());  
        messageHelper.setTo(mailBean.getToEmails());  
        messageHelper.setText(mailBean.getContext(), true); // html: true 
        return mimeMessage;
    }
    
    public void sendMail(MailBean mailBean) throws UnsupportedEncodingException, MessagingException{
        MimeMessage msg = createMimeMessage(mailBean);
        javaMailSenderImpl.send(msg);
    }
}

5. MailSenderUtil.java

import java.text.SimpleDateFormat;
import java.util.Date;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.dzt.pojo.MailBean;
import com.dzt.service.MailSenderService;
 
public class MailSenderUtil {
    /**
     * 
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception{
        ApplicationContext ac = new ClassPathXmlApplicationContext("spring.xml");
        MailSenderService mailSenderService = (MailSenderService) ac.getBean("mailSenderService");
        MailBean mailBean = new MailBean();
        SimpleDateFormat format = new  SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String dateString = format.format(new Date());
        String message="尊敬的互联微网管理员,当前时间 "+dateString+"商城系统定时器已启动。";
        mailBean.setFrom("187xxxx2348@163.com");
        mailBean.setFromName("187xxxx2348@163.com");
        mailBean.setSubject("定时器任务已启动");
        mailBean.setToEmails(new String[]{"853xxxx16@qq.com","124xxxxx7@qq.com"});
        mailBean.setContext(message);
        mailSenderService.sendMail(mailBean);
        System.out.println(message);
        
    }

}
原文地址:https://www.cnblogs.com/dztHome/p/9530769.html