2017-10-28 281 views
1

我需要添加一個郵件模板(abc.html),如默認activationEmail.html,CreationEmail.html,passwordResetEmail.html內.../build/resources/main /mails/abc.html。當我手動創建了abc.html並且在我運行gradlew執行應用程序之後,新創建的abc.html文件被刪除。那麼我如何創建它?我是否需要在其他地方註冊該文件? 是否有任何特定的命令來創建HTML文件作爲創建一個實體jijster。我的最終目標是發送郵件。但是,如果不創建模板,我不知道在MailService.java的sendMail方法中傳遞內容變量的值。爲內容分配null也不起作用。那麼有沒有內置的方法發送郵件而不使用模板?添加一個郵件模板或沒有它發送郵件在jgster

@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, CharEncoding.UTF_8); 
     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()); 
     } 
    } 
} 

@Async 
public void sendSportMail(String email,String message) { 
    log.debug("Sending sports email to '{}'", email," message"); 
    Locale locale = Locale.forLanguageTag("en"); 
    String subject = messageSource.getMessage("email.reset.title", null, locale); 
    Context context = new Context(locale); 
    context.setVariable(BASE_URL, jHipsterProperties.getMail().getBaseUrl()); 
    String content = templateEngine.process("creationEmail", context); 
    sendEmail(email, subject, content, false, true); 
} 

有sendSportMail方法而不是「creationEmail」,我需要一個值(「abc」)來傳遞。或者,如果有任何方法發送郵件而不創建更好的模板。因爲實際上我不需要郵件模板。我可以在sendSportMail方法中檢索電子郵件和消息參數的值。所以我只需要發送郵件正文消息和收件人的郵件是電子郵件。 gmail的配置工作正常,對於已經內置的諸如密碼重置,創建用戶和所有功能的功能來說工作得很好。

回答

1

不要在構建/文件夾內創建任何內容,因爲它由Gradle用來編譯和打包項目。它與maven的目標/文件夾類似。

在src/main/resources/mails /裏面創建你的html模板