• Java邮件发送


    Java中发送邮件的方法之一,需要用到spring框架集成的JavaMailSenderImpl、SimpleMailMessage两个实现类。

    一,创建一个service,代码如下:

    public interface MailService {
        
        public Boolean sendTextMail(String subject,String text,String to);
        
        public Boolean sendHtmlMail(String subject,String text,String to);
        
    }

    二,service实现类如下:

    @Service
    public class MailServiceImpl implements MailService{
        @Autowired
        private JavaMailSenderImpl mailSender;
        @Autowired
        private SimpleMailMessage mailMessage;  
    
    
         @Override
        public Boolean sendTextMail(String subject,String text,String to) {  //发送文本邮件,纯文字。
            try {
                mailMessage.setSubject(subject);
                mailMessage.setText(text);
                mailMessage.setTo(to);
                mailSender.send(mailMessage);
                return true;
            } catch (Exception e) {
                e.printStackTrace();
            }
            return false;
        }
         @Override
        public Boolean sendHtmlMail(File file, String subject, String text, String to) {  //发送HTML邮件,包含格式、图片、附件等
            try {
            MimeMessage mimeMessage =mailSender.createMimeMessage();
            MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage,true);
                
            String from = ApplicationUtils.getApplicationSettings().getProperty("mail.from","xx@sina.com");  //这里的发送者是从配置文件中读取的。
                messageHelper.setFrom(from);
                messageHelper.setSubject(subject);
                messageHelper.setTo(to);
                messageHelper.setText("<html><head></head><body>"+text+"</body></html>", true);
                //发送图片
    /*          FileSystemResource image = new FileSystemResource(new File("C:\text.png"));  //添加图片
                messageHelper.addInline("img", image);*/
                messageHelper.addAttachment(file.getName(), file);  //添加附件
                mailSender.send(mimeMessage);
                return true;
                
            } catch (MessagingException e) {
            
                e.printStackTrace();
            }
                    
            return false;
        }
                  
    }
  • 相关阅读:
    LR11
    安装Nginx+uWSGI+Django环境
    MYSQL 安装更新,使用,管理,备份和安全等
    oracle里要查看一条sql的执行情况,有没有走到索引,怎么看?索引不能提高效率?
    大神:python怎么爬取js的页面
    Sublime 编译出来的是 dos格式,不是unix格式
    前天搞了一天?昨天搞了一天?今天搞了半小时
    搞了一宿,弄完了一个POP3协议
    我竟然。。。傻了近一年
    跨进程信息交互真个费事。
  • 原文地址:https://www.cnblogs.com/lovefaner/p/10071569.html
Copyright © 2020-2023  润新知