关于使用spring框架来实现email发送其中遇到的问题已解决

我用的是网易邮箱, spring 封装了一个简单易用的关于邮件发送的工具类JavaMailSenderImpl ,所以可以用JavaMailSenderImpl 来实现邮件发送。当然还需引入java的email包,我用的是javax.mail-1.5.2.jar(当然你也可以用java直接发送邮件)

这是代码 

public class  send{        

private static final String HOST = "smtp.163.com";

   private static final String USERNAME = "账号@163.com";
   private static final String PASSWORD = "授权码";
   private static final String EMAILFORM = "账号@163.com";
private static final int PORT = 25;

   private   JavaMailSenderImpl  mailSender = createMailSender();

/**
    * 邮件发送器
    *
    * @return 配置好的工具
    */
   public JavaMailSenderImpl createMailSender() {
       JavaMailSenderImpl sender = new JavaMailSenderImpl();
       sender.setHost(HOST);
       sender.setPort(PORT);
       sender.setUsername(USERNAME);
       sender.setPassword(PASSWORD);
       sender.setDefaultEncoding("utf-8");
       Properties p = new Properties();
       p.setProperty("mail.smtp.timeout", "25000");
       p.setProperty("mail.smtp.auth", "false");
       sender.setJavaMailProperties(p);
       return sender;
   }


   /**
    * 发送邮件
    *
    * @param to 接受人
    * @param subject 主题
    * @param html 发送内容
    * @throws MessagingException 异常
    * @throws UnsupportedEncodingException 异常
    */
    @RequestMapping(value="/find")
   public void sendHtmlMail(String email, String subject, String html) throws MessagingException,UnsupportedEncodingException {
       
    MimeMessage mimeMessage = mailSender.createMimeMessage();
       // 设置utf-8或GBK编码,否则邮件会有乱码
       MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
       messageHelper.setFrom(EMAILFORM, "系统名称");
       subject ="找回密码";
       html="你的密码是";
       messageHelper.setTo(email);
       messageHelper.setSubject(subject);
       messageHelper.setText(html, true);
       mailSender.send(mimeMessage);
      
   }

}

执行后总是遇到Mail from must equal authorized user 这个问题我困扰了很久,明明我填的账户授权码都对,就是这个问题,我还去断点调试发现变量里面的值都正确就是不知道怎么回事?  后来我才想到账户是不是有问题,结果才发现原来我的网易邮箱不是手机号@163.com而是前面还有个字母m,所以上面的USERNAME和EMAILFORM都错了,最后改好后终于成功运行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值