我想将这个带有 multipart/form-data 标头请求的邮递员客户端转换为 spring 模板客户端。
现在,我有一个基本的休息控制器,效果很好。
@RestController
@RequestMapping("/api")
public class MainConroller {
private static final Logger log = LoggerFactory.getLogger(MainConroller.class);
@Autowired
private MainService mainService;
public MainConroller(MainService mainService) {
this.mainService = mainService;
}
@PostMapping("/mails/send")
public void send(
@RequestParam("usertoken") String usertoken,
@RequestParam("sendTo") String sendTo,
@RequestParam("subject") String subject,
@RequestParam("content") String content,
@RequestParam(required = false, name = "files") List<MultipartFile> multipartFiles) {
log.debug("{}, {}, {}, {}", usertoken, sendTo, subject, content);
mainService.processMessage(usertoken, sendTo, subject, content, multipartFiles);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我需要创建一个休息客户端,所以我使用了一个休息模板,它现在看起来像这样:
ArrayList<HttpMessageConverter<?>> converters = new ArrayList<>(
Arrays.asList(new MappingJackson2HttpMessageConverter(), new …
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Spring Boot 中发送带有文件附件的电子邮件。
这是一个基本的 gmail SMTP 服务器应用程序属性配置:
这是我的电子邮件服务:
EmailService
Run Code Online (Sandbox Code Playgroud)
当我使用传递的 mailMessageDto 对象调用此方法时,没有抛出异常。什么都没有发生,没有发送电子邮件。
我已经调试了 javaMailSender.send(message) 代码行,一切似乎都很好。
更新
spring.mail.properties.mail.smtp.ssl.enable=false
Run Code Online (Sandbox Code Playgroud)
应该是假不是真的 spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory