zoukankan      html  css  js  c++  java
  • 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;
        }
                  
    }
  • 相关阅读:
    通过PDB文件实现非嵌入式的c++反射
    在c++中实现反射的初步想法
    对比特币相关的一些技术细节的补充
    初窥比特币
    根据一个坐标查找其所属区域的一些优化想法
    go两种数据类型的区别、数据类型和操作符、常量、变量声明
    go的相关包time、os、rand、fmt
    go语言的特性
    结构体
    defer、panic、recover
  • 原文地址:https://www.cnblogs.com/lovefaner/p/10071569.html
Copyright © 2011-2022 走看看