2017-10-28 2 views
1

기본 activationEmail.html, CreationEmail.html, passwordResetEmail.html .../build/resources/main과 같은 메일 템플리트 (abc.html)를 추가해야합니다. /mails/abc.html. 내가 abc.html을 수동으로 만들었고 앱을 실행하기 위해 gradlew를 실행 한 후 새로 생성 된 abc.html 파일이 삭제되었습니다. 그럼 내가 어떻게 만들 수 있니? 그 파일을 다른 곳에 등록해야합니까? jhipster에서 엔티티를 생성 할 때 html 파일을 만드는 특정 명령이 있습니까? 마지막 목표는 메일을 보내는 것입니다. 그러나 템플릿을 만들지 않고 MailService.java의 sendMail 메소드에서 content 변수의 값을 전달할 생각이 없습니다. 내용에 null을 할당하는 것도 효과가 없습니다. 템플릿을 사용하지 않고 메일을 보내는 메소드가 내장되어 있습니까?메일 템플리트를 추가하거나 jitterster에 메일을 보내지 않고

@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); 
} 

"creationEmail"대신 sendSportMail 메서드가 있는데, 전달할 값 ("abc")이 필요합니다. 또는 더 나은 템플릿을 만들지 않고 메일을 보낼 방법이 있다면. 실제로 나는 메일 템플리트가 필요하지 않기 때문에. sendSportMail 메서드에서 전자 메일 및 메시지 매개 변수 값을 검색 할 수 있습니다. 그래서 나는 메일 본문이 메시지이고 수신자의 메일이 전자 메일 인 메일을 보내면됩니다. Gmail의 구성은 제대로 완료되었으며 비밀번호 재설정, 사용자 작성 및 모든 기능과 같은 기본 기능에 대해 잘 작동합니다.

답변

1

프로젝트를 컴파일하고 패키지화 할 때 gradle에서 사용하는 빌드/폴더 내부에는 아무 것도 만들지 마십시오. Maven의 target/folder와 비슷합니다.

src/main/resources/mails/내에 사용자의 html 템플릿을 만드십시오.

관련 문제