java笔记_14_邮箱发送

JavaMailSender:默认使用配置文件中的发送人邮箱密码等
JavaMailSenderImpl:方法中使用Impl对象,可手动设置发送账户密码
application.yml

spring:
  #spring集成配置(省略创建session过程)
  mail:
    host:   #邮件服务器地址
    port:                #邮件服务器端口
    protocol:          #使用的协议v
    default-encoding: UTF-8 #默认编码
    username:          #这个是通过邮件服务器认证的用户名和密码,不一定是邮箱,看服务器的要求
    password:
    from:                #统一设置发件人邮箱
    externalAttachmentPath:
    properties:            #properties中的属性都是比较灵活可配置的,其实是javax.mail.Session中对应的配置项,可以参考对应文档
      mail:
        smtp:
          auth: true   #如果邮件服务器需要实名需要认证开启此选项
          ssl:
            enable: true
          starttls:
            enable: false
            required: false
import org.springframework.mail.javamail.JavaMailSenderImpl;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.UnsupportedEncodingException;
import org.springframework.mail.javamail.MimeMessageHelper;

@Autowired(required
= false) private JavaMailSenderImpl javaMailSender; /** * 简单邮件发送-带附件 * * @param from 发件人 * @param password 发件人密码 * @param to 收件人 多人逗号隔开 * @param cc 抄送人 多人逗号隔开 * @param bcc 密抄送人 多人逗号隔开 * @param subject 主题 * @param content 正文 * @param attachments 附件 * @return */ @Override public boolean sendEmail(String from, String password, String to, String cc, String bcc, String subject, String content, List<File> attachments) { try { javaMailSender.setUsername(from); javaMailSender.setPassword(password); MimeMessage message = javaMailSender.createMimeMessage(); /* * 这里使用MimeMessageHelper简化了邮件配置, * 它的构造方法的第二个参数true表示构造一个multipart message类型的邮件, * multipart message类型的邮件包含多个正文、附件以及内嵌资源,邮件的表现形式更加丰富 */ MimeMessageHelper helper = new MimeMessageHelper(message, true); buildHelper(helper, false, from, null, null, to, cc, bcc, subject, content, null, null, true, null , null, attachments); javaMailSender.send(message); return true; } catch (MessagingException | UnsupportedEncodingException e) { logger.error(e.getMessage(), e); return false; } }

 

posted @ 2023-11-02 17:17  LuLuYaa  阅读(21)  评论(0编辑  收藏  举报