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; } }
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...