基于Javamail实现发送邮件(QQ/网易邮件服务器)

本文实例为大家分享了Javamail实现发送邮件的具体代码,供大家参考,具体内容如下

一. 使用QQ邮箱作为smtp邮件服务器发送邮件

步骤1.开启QQ邮箱的POP3/SMTP服务:

基于Javamail实现发送邮件(QQ/网易邮件服务器)_第1张图片

开启后会得到一个16位授权码, 作为第三方使用邮件服务器的登录凭证.
注意: 修改邮箱密码后, 授权码会失效, 需要重新获取.

步骤2: 编写配置文件applicationContext-email.xml(此处使用xml配置方式):


    
        
            
            smtp.qq.com
        

        
            
                true
                
                25000
            
        
        
        
            [email protected]
        
        
        
            qazcrslpoghcbahh
        
        
            UTF-8
        
    

    
        
        
    

步骤3: 编写测试类:

package emailtest;

import java.util.Date;

import javax.annotation.Resource;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.util.StringUtils;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext-email.xml")
public class EmailTest {

    @Resource
    private JavaMailSender javaMailSender;

    @Resource
    private SimpleMailMessage simpleMailMessage;
    
    @Test
    public void sendMail() throws MessagingException{
        sendMail("[email protected]","验证码:6666","密码找回");
    }
    
    public void sendMail(String email, String content, String subject) throws MessagingException {
        MimeMessage message = javaMailSender.createMimeMessage();
        MimeMessageHelper messageHelper;
        messageHelper = new MimeMessageHelper(message, true, "UTF-8");
        messageHelper.setFrom(StringUtils.trimAllWhitespace(simpleMailMessage.getFrom()));
        messageHelper.setTo(email);
        messageHelper.setSubject(subject);
        messageHelper.setText(content, true);
        messageHelper.setSentDate(new Date());
        // 发送邮件
        javaMailSender.send(messageHelper.getMimeMessage());
        
    }
}

二. 使用网易邮箱作为smtp邮件服务器发送邮件

1.相似的, 先打开网易邮箱的POP3/SMTP服务, 设置授权码.

基于Javamail实现发送邮件(QQ/网易邮件服务器)_第2张图片

2.修改上述applicationContext.xml中配置信息:

服务器地址改为smtp.163.com
username更改为你的网易邮箱账号
password则是你在开启POP3/SMTP服务时设置的授权码
from的值和username值一样.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(基于Javamail实现发送邮件(QQ/网易邮件服务器))