似乎无法通过jhipster应用程序发送电子邮件

时间:2019-06-20 20:34:34

标签: spring email jhipster

我正在尝试制作一个简单的表单,提交后将其发送并发送给固定的电子邮件。

我正在使用spring,并且已经搜索了如何配置应用程序。yml,并且正在使用似乎是通过jhipster应用程序生成的mailsend方法。

我已经建立了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());
            }
        }
    }

这是我的application-dev.yml(我仍在开发中)

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 :(得分:0)

显然,为什么不将properties-prod.yml加载到服务器。我必须创建一个具有所有配置的配置文件,才能正常工作