문제

전자 메일 메시지를 나타내는 다양한 속도 템플릿 파일이 있습니다. 템플릿 파일이 메시지와 내용의 제목 줄을 출력 할 수있는 우아한 방법을 찾고 있습니다. 몇 가지 옵션을 고려했습니다.

  1. 출력의 첫 번째 줄을 "제목 : BLA"와 같은 줄을 만들고 Java에서 제거하십시오. Java에서 멋진 문자열 조작을 수행하는 것이 처음에는 속도를 사용하여 해결하려는 문제이기 때문에이 접근법을 거부했습니다.

  2. Setter를 호출하려면 속도 매크로의 일부 코드를 매핑 할 수있는 매핑에 정착 가능한 물체를 던지십시오. 장점 : 매우 간단합니다. 단점 : 나는 단지 출력의 형태로도 외부 물체를 속도에서 설정한다는 아이디어를 싫어합니다. 그러나 그것은 불합리한 싫어할 수도 있습니다.

  3. #SetSubjectLine과 같은 사용자 정의 속도 명령을 만듭니다. 장점 : 더 우아합니다. 단점 : 전자 메일 여부에 관계없이 모든 템플릿에 유효한 명령으로 적용됩니다.

  4. 제목 줄과 나머지 이메일에 대한 별도의 템플릿 파일이 있습니다. 프로 : 전혀 특별한 트릭이 없습니다! CON : 모든 이메일 논리가 같은 장소에 사는 것은 아닙니다.

  5. 내가 모르는 멋진 속도 트릭.

  6. ???

그래서, 내가 뭘해야 해? 5 또는 6에 대한 제안이 있습니까? 1, 2, 3 또는 4를 선택 해야하는 이유는 무엇입니까?

도움이 되었습니까?

해결책

2) Setter를 호출하기 위해 속도 매크로의 일부 코드에 대한 맵핑에 정착 가능한 물체를 던지십시오. 장점 : 매우 간단합니다. 단점 : 나는 단지 출력의 형태로도 외부 물체를 속도에서 설정한다는 아이디어를 싫어합니다. 그러나 그것은 불합리한 싫어할 수도 있습니다.

이것은 나의 접근 방식이었고, 처음에는 비슷한 오해에도 불구하고 기뻐합니다. 캐릭터 인코딩 및 기타 속성을 이런 식으로 설정했습니다. 이것은 나머지 템플릿을 메시지 본문으로 남겨 둡니다. 다시, 나는 기쁘다.

#set ( $myAtts.encoding = "utf-8" )
#set ( $myAtts.from = "stu@nowhere.net" )

다른 팁

~에 $work 우리는 4. 잘 작동하며 같은 장소에 사는 모든 이메일 논리에 대한 논쟁이 너무 엄격 해 보입니다. 당신은 서로 옆에 두 개의 속도 파일이 있습니다. 템플릿 파일이 하나만 있더라도 여전히 데이터를 채우고, 수신자를 결정하고, 첨부 파일을 첨부하는 등에도 속도 파일에도 살지 않는 논리가 있습니다.


나는 속도 매크로를 좋아하지 않기 때문에 2를 선호합니다. Java 객체를 사용하는 것이 더 유연 해 보입니다.

$mailContext.setSubjectLine($subject)

2 또는 3을 사용하면 한 곳에 모든 것을 갖추는 목표에 더 가까워 질 수 있습니다. 예를 들어 Velocity가 수신자 목록을 설정할 수 있습니다. 반면에 이것은 속도가 순수한 템플릿 기술이라는 아이디어와 충돌하는 것 같습니다.

여기서 고려해야 할 것은 누가 속도 템플릿을 작성하는 것입니다. "최종 사용자"에 가까워 질수록 이메일 컨텐츠를 작성하는 것과 직접 관련이없는 모든 것에 대해 문제를 일으키고 싶지 않습니다.


그것이 실현 가능한지, 합리적이거나, Java Mail API에서도 가능하지만 완전성 만 확실하지 않습니다.

6. 속도가 내용과 주제뿐만 아니라 헤더를 포함하여 전체 이메일 메시지를 작성하도록하십시오. 1에 차이가있는 것은이 출력을 후 처리 할 필요가 없으며 메일 전송 에이전트로 바로 이동할 수 있다는 것입니다. 아마도 첨부 파일로 작동하지 않을 것입니다.

To: $to
CC: $cc
Subject: $subject

Here comes the content.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top