Я пытаюсь сделать простую форму, которая при отправке отправляет и отправляет электронное письмо на фиксированный адрес электронной почты.
Я использую Spring, и я искал, как настроить application.yml, и я использую метод mailsend, который, кажется, был сгенерирован с моим приложением jhipster.
Я построил свой сервис FE для подключения к серверной части:
sendForm(): Observable<any>{
return this.http.post(SERVER_API_URL + 'api/sendForm', "");
}
Я создал метод onsubmit, чтобы подписаться на метод выше:
onSubmit() {
this.auth.sendForm().subscribe( data => {
console.log(data);
})
}
Я жестко запрограммировал почтовый ресурс, чтобы просто посмеяться над письмом, чтобы убедиться, что он работает:
@PostMapping("/sendForm")
public void sendForm() {
this.mailService.sendEmail("mymail@gmail.com","Header","texto",false,true);
}
метод sendMail, который отправляет информацию для почтовой рассылки, генерируется автоматически, и я считаю, что он должен работать
@Async
public void sendEmail(String to, String subject, String content, boolean isMultipart, boolean isHtml) {
log.debug("Send email[multipart '{}' and html '{}'] to '{}' with subject '{}' and content={}",
isMultipart, isHtml, to, subject, content);
// Prepare message using a Spring helper
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
try {
MimeMessageHelper message = new MimeMessageHelper(mimeMessage, isMultipart, StandardCharsets.UTF_8.name());
message.setTo(to);
message.setFrom(jHipsterProperties.getMail().getFrom());
message.setSubject(subject);
message.setText(content, isHtml);
javaMailSender.send(mimeMessage);
log.debug("Sent email to User '{}'", to);
} catch (Exception e) {
if (log.isDebugEnabled()) {
log.warn("Email could not be sent to user '{}'", to, e);
} else {
log.warn("Email could not be sent to user '{}': {}", to, e.getMessage());
}
}
}
и вот мое приложение-dev.yml (я все еще на dev)
spring:
profiles:
active: dev
mail:
host: smtp.gmail.com
port: 587
username: gmailuserid@gmail.com #Replace this field with your Gmail username.
password: ************ #Replace this field with your Gmail password.
protocol: smtp
tls: true
properties.mail.smtp:
auth: true
starttls.enable: true
ssl.trust: smtp.gmail.com
ошибки, которые я получаю, выглядят следующим образом:
org.springframework.mail.MailSendException: Mail server connection failed; nested exception is com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localh
ost, 25; timeout -1;
nested exception is:
java.net.ConnectException: Connection refused: connect. Failed messages: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 25; timeo
ut -1;
Все, что я ожидаю, это письмо с макетом, который я использовал, и я не могу заставить это работать.
Я надеюсь, что я не сделал пост долго и что все хорошо объяснено.
Заранее благодарю всех, кто хочет помочь