【发布时间】:2020-11-26 11:14:57
【问题描述】:
我正在尝试创建 API 休息来发送电子邮件 但我面临这个错误:
**cold not autowire no bean of 'javaMailSender' type found **
邮件模型.java
@Data
public class Mail {
private String name;
private String email;
private String subject;
private String message;
}
这是我的 MailService.java
@Service
public class MailService {
private JavaMailSender javaMailSender;
@Autowired
public MailService(JavaMailSender javaMailSender) {
this.javaMailSender = javaMailSender;
}
public void sendEmail(Mail usermodel) throws MailException {
StringBuilder sb = new StringBuilder();
sb.append("Name: ").append(usermodel.getName()).append(System.lineSeparator());
sb.append("\n Message: ").append(usermodel.getMessage());
SimpleMailMessage mail = new SimpleMailMessage();
mail.setTo(usermodel.getEmail());
mail.setFrom("emailremoved@gmail.com");
mail.setSubject(usermodel.getMessage());
mail.setText(sb.toString());
javaMailSender.send(mail);
}
}
EmailController.java
@RestController
@RequestMapping("/api/v1/email")
public class EmailController {
@Autowired
private MailService mailService;
//some other code
@PostMapping()
public ResponseEntity<Mail> enviarEmail(Mail email){
try {
mailService.sendEmail(email);
return new ResponseEntity<>(email, HttpStatus.OK);
} catch( MailException e){
return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR);
}
}
}
感谢您的回复
【问题讨论】:
标签: java angular spring-boot email