Не могу отправить электронное письмо с приложением jhipster - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь сделать простую форму, которая при отправке отправляет и отправляет электронное письмо на фиксированный адрес электронной почты.

Я использую 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;

Все, что я ожидаю, это письмо с макетом, который я использовал, и я не могу заставить это работать.

Я надеюсь, что я не сделал пост долго и что все хорошо объяснено.

Заранее благодарю всех, кто хочет помочь

1 Ответ

0 голосов
/ 24 июня 2019

Видимо почему-то не был загружен properties-prod.yml на сервер. Мне пришлось создать файл конфигурации со всеми конфигурациями, чтобы он работал

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...