设计网站大全国内,如果建手机网站,百度app浏览器下载,有做网站动态效果软件文章目录 引入依赖配置代码附件url地址为空会不会报错接收方邮件地址错误会不会报错 引入依赖
推荐用spring集成依赖#xff0c;不用一个包一个包找了。
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-… 文章目录 引入依赖配置代码附件url地址为空会不会报错接收方邮件地址错误会不会报错 引入依赖
推荐用spring集成依赖不用一个包一个包找了。
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-mail/artifactId
/dependency配置
这里以qq为例
spring:main:allow-bean-definition-overriding: truemail:host: smtp.qq.comport: 465protocol: smtpsuserName: 1111111qq.compassWord: eyywqbcdfdddproperties:mail:smtp:auth: falsestarttls:enable: falserequired: false
注userName是发送方邮件地址用自己的qq号就行。 password是授权码这个要在qq邮箱开通下。
如果启动报错 Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overridingtrue
那么记得加这个配置(大意是解决类再次加载的问题)
spring:main:allow-bean-definition-overriding: true代码
javax.mail.internet.MimeMessage mimeMessage mailSender.createMimeMessage();
MimeMessageHelper helper null;
helper new MimeMessageHelper(mimeMessage, true);
URL url new URL(request.getAttachmentUrl());
DataSource dataSource new URLDataSource(url); // 附件地址为空会报错 MalformedURLException
helper.addAttachment(request.getAttachmentName(), dataSource); // 附件名为空不报错会有个默认附件名
helper.setFrom(request.getFrom()); // 发送人
helper.setTo(request.getTo()); // 接收人
helper.setSubject(request.getSubject()); // 主题
helper.setText(request.getText(), true); // 正文
log.info(rest发送邮件开始); // 这里无法toJson会报错
mailSender.send(mimeMessage); // 不报错就是成功
log.info(rest发送邮件完成);因为涉及到参数接收最好弄个实体类代码更整洁。实际mail有很多参数但是常规来说这些也够用了。
Data
public class MailEntity{
private String subject;
private String from;
private String to;
private String text;
private String attachmentUrl;
private String attachmentName;
}
附件url地址为空会不会报错
会的会报错MalformedURLException这个在发送前的入参检查时就会报错。
接收方邮件地址错误会不会报错
不会因为邮件是异步的代码里的发送是发到邮件服务器邮件服务器后续会发送给接收方java代码肯定不能等这个反馈所以不会报错。
但是如果地址错误邮件的发送方会收到退回邮件。