Calendar Server는 Calendar Server 메일 매개 변수에 설명된 전자 메일 메시지 유형을 보냅니다. 이 메시지의 형식은 이 표에 포함된 관련 형식(.fmt) 파일에 의해 제어됩니다. 형식 파일은 다음 디렉토리의 각 로켈(영어는 /en, 프랑스어는 /fr 등)을 위한 특정 디렉토리에 있습니다.
/etc/opt/SUNWics5/config
예를 들어, 태스크(수행할 작업) 경보 메시지 형식의 영어 버전은 다음 파일에서 지정됩니다.
/etc/opt/SUNWics5/config/en/mail_todoalarm.fmt
이 절은 다음 내용으로 구성되어 있습니다.
다음 표에서는 각 Calendar Server 메일 매개 변수의 메시지 유형, 매개 변수 이름, 기본 형식 파일 설명 및 수신자를 제공합니다.
표 E–30 ics.conf 파일의 Calendar Server 전자 메일 형식
메시지 유형 |
매개 변수 |
형식 파일(기본값) |
설명 |
수신자 |
---|---|---|---|---|
이벤트 게시 |
이벤트 또는 기존 이벤트에 대한 변경을 알립니다. |
알림에 표시된 수신자 |
||
이벤트 취소 |
이벤트 취소를 알립니다. |
알림에 표시된 수신자 |
||
이벤트에 대한 응답 |
"mail_eventreply.fmt" |
이벤트 알림에 응답합니다. |
알림에 표시된 수신자 |
|
이벤트 요청 |
"mail_eventrequest.fmt" |
이벤트 알림에 가입합니다. |
알림에 표시된 수신자 |
|
이벤트 경보 |
다가오는 이벤트를 미리 알립니다. |
미리 알림에 표시된 수신자 |
||
반복 이벤트 알림 |
“mail_eventnotificationrecur.fmt” |
반복 이벤트를 알립니다. |
알림에 표시된 수신자 |
|
이벤트 취소 알림 |
“mail_eventcancel notification.fmt” |
취소된 이벤트를 알립니다. |
알림에 표시된 수신자 |
|
반복 이벤트 취소 알림 |
“mail_eventcancelnotificationrecur.fmt” |
취소된 반복 이벤트를 알립니다. |
알림에 표시된 수신자 |
|
태스크 게시 |
태스크 또는 기존 태스크에 대한 변경을 알립니다. |
알림에 표시된 수신자 |
||
태스크 취소 |
태스크 취소를 알립니다. |
알림에 표시된 수신자 |
||
태스크에 대한 응답 |
"mail_todoreply.fmt" |
태스크 알림에 응답합니다. |
알림에 표시된 수신자 |
|
수행할 작업 요청 |
"mail_todorequest.fmt" |
수행할 작업 알림에 가입합니다. |
알림에 표시된 수신자 |
|
태스크 경보 |
다가오는 태스크를 미리 알립니다. |
미리 알림에 표시된 수신자 |
Calendar Server는 특정 이벤트 또는 태스크를 형식 파일의 내용과 결합하여 알림 메시지를 만듭니다. 이벤트 또는 태스크의 데이터 필드 값은 메시지에 출력될 수 있습니다. 알림 메시지에는 MIME 헤더 행과 관련된 특수 값이 포함될 수도 있습니다. 특수 문자 시퀀스(형식 표시)를 사용하여 이벤트, 태스크 및 MIME 헤더의 값을 메시지에 포함시킬 수 있습니다. 형식 파일의 행은 메일 메시지가 생성될 때 달력 데이터 필드의 실제 값으로 대체할 수 있는 특수 문자 시퀀스로 구성된 형식 문자열입니다. 특수 문자 시퀀스는 두 개의 문자로 구성됩니다. 첫 번째 문자는 백분율 기호(%)이고 두 번째 문자는 특정 형식 표시를 나타냅니다.
다음 절에서 특수 문자 시퀀스에 대해 설명합니다.
다음 표에서는 이벤트 알림을 위한 특수 문자 시퀀스의 형식 코드와 의미를 제공합니다.
표 E–31 이벤트 알림을 위한 특수 문자 시퀀스
형식 코드 |
의미 |
---|---|
%0 |
현지화된 형식의 시작 시간 |
%1 |
현지화된 형식의 종료 시간 |
%A |
iCalendar 형식의 exdates(제외할 날짜를 표시하며 세미콜론으로 구분되는 ISO 8601 날짜 문자열 목록) |
%a |
iCalendar 형식의 rdates(반복 날짜를 나열하며 세미콜론으로 구분되는 ISO 8601 날짜 문자열 목록) |
%B |
시작 시간(%Z 참조) |
%b |
시작 시간과 종료 시간을 iCalendar 형식으로 출력. 시작 시간이 매개 변수 value=date이면 날짜의 월/일/연도만 출력합니다. 종료 시간의 월/일/연도가 시작 시간과 같으면 시작 시간만 생성됩니다. |
%C |
생성 시간 |
%c |
이벤트 클래스 |
%d |
이벤트 설명(%F 참조) |
%E |
종료 시간(%Z 참조) |
%e |
iCalendar 형식의 예외 규칙 |
%F |
이벤트 설명 - 겹친 선 / iCalendar 형식(%d 참조) |
%G |
이벤트의 지리적 위치(경도 및 위치) |
%g |
도우미의 전자 메일 주소. 이 값의 인증은 보증되지 않습니다. |
%K |
mailto:url 형식의 도우미 전자 메일 |
%k |
경보 카운트 |
%L |
위치 |
%l |
iCalendar 형식의 반복 규칙 |
%M |
수정 시간 |
%N |
새 행 |
%n |
DTSTAMP와 함께 사용되는 현재 타임스탬프 |
%P |
우선 순위 |
%r |
반복 아이디(해당 이벤트가 반복되지 않는 경우에는 공백) |
S |
이벤트 시퀀스 번호 |
s |
요약 |
t |
이벤트 상태 |
%U |
고유 이벤트 아이디 |
%Z |
시간이 UTC 시간에 렌더링되도록 하기 위해 시간 필드 코드와 함께 사용됩니다. (%B는 시작 시간을 지역 시간으로 표시하고 %ZB는 시작 시간을 UTC 시간으로 표시합니다.) |
%% |
백분율(%) 문자를 표시합니다. |
%(하위 형식 코드) |
코드에 의해 식별되는 날짜의 하위 형식을 지정합니다. (자세한 내용은 날짜 하위 형식 지정을 참조하십시오.) |
날짜-시간 값은 여러 가지 형식으로 지정할 수 있습니다. 하위 형식을 사용하여 날짜-시간 형식 지정 방법을 설명하는 추가 정보를 제공할 수 있습니다. 하위 형식을 지정하지 않으면 서버는 기본 형식을 사용하여 날짜를 출력합니다. 하위 형식 필드를 사용하면 사용할 정확한 형식을 지정할 수 있습니다.
예를 들어, %B는 출력 문자열에 이벤트의 시작 시간이 포함되도록 지정합니다. 이 기본 형식은 날짜, 시간, 표준 시간대 및 날짜에 대한 모든 정보를 출력합니다. 날짜 값의 하위 형식 문자열은 strftime 형식 문자열입니다( 날짜를 위한 특수 문자 시퀀스 참조). 시작 시간의 월과 연도에만 관심이 있는 경우에는 %B 대신 %(%m %Y)B를 사용하면 됩니다.
다음 예는
The event begins: %B%N The event ends: %(%b %d, %Y %I:%M %p)E%N |
다음 알림과 유사한 출력을 생성합니다.
The event begins Feb 02, 1999 23:30:00 GMT Standard Time The event ends Feb 03, 1999 02:30 AM |
특정 조건 하에서만 행을 출력하는 것이 바람직한 경우가 있습니다. 예를 들어 다음 행은
title: %S%N start: %B%N end: %E%N |
다음 알림과 유사한 출력을 생성합니다.
title: Staff Meeting start: Feb 04, 1999 09:00:00 end: Feb 04, 1999 10:00:00 |
그러나 위의 예가 잘못된 결과로 나타나는 두 가지 조건이 있습니다.
이벤트에 종료 시간이 없는 경우
같은 날 시작하여 끝나는 "하루 종일" 이벤트인 경우
이 두 경우에는 종료 시간을 아예 출력하지 않는 것이 가장 좋습니다. 기본적으로 타임스탬프가 all-day 속성을 가지면 년, 월, 일만 출력합니다. 또한 이벤트 시작 시간이 all-day 속성을 가지고 이벤트가 시작한 것과 같은 날 끝나는 경우에는 특수 조건 플래그가 설정됩니다. ? 수정자를 사용하여 특수 조건 플래그가 설정되지 않은 때만 조건부 값을 출력합니다.
예를 들어, 위 예의 행을 다음과 같이 변경할 경우
title: %S%N start: %B%N end: %?E%N |
마지막 행은 시작 날짜와 종료 날짜가 같은 하루 종일 이벤트에 대해 출력되지 않습니다. 생일이나 기념일 등 일반적인 하루 종일 이벤트에 대해서는 다음 출력을 생성합니다.
title: Staff Meeting start: Feb 04, 1999 |
? 플래그는 다른 수정자와 결합될 수 있습니다. 예를 들면 다음과 같습니다.
The event ends: %?(%b %d, %Y %I:%M %p)E%N
다음 표에서는 태스크 알림을 위한 특수 문자 시퀀스의 형식과 코드를 제공합니다.
표 E–32 태스크 알림을 위한 특수 문자 시퀀스
형식 코드 |
의미 |
---|---|
%A |
iCalendar 형식의 exdates(제외할 날짜를 표시하며 세미콜론으로 구분되는 ISO 8601 날짜 문자열 목록) |
%a |
iCalendar 형식의 rdates(반복 날짜를 표시하며 세미콜론으로 구분되는 ISO 8601 날짜 문자열 목록) |
%B |
시간 시간(%Z 참조) |
%C |
생성 시간 |
%c |
태스크 클래스 |
%D |
기한 날짜 및 시간 |
%d |
태스크 설명(%F 참조) |
%E |
IMIP 형식의 기한 날짜 및 시간 |
%e |
iCalendar 형식의 예외 규칙 |
%F |
태스크 설명 - 겹친선, iCalendar 형식(%d 참조) |
%G |
해당 태스크의 지리적 위치, 경도 및 위도 |
%g |
도우미의 전자 메일 주소(이 값은 인증을 보증할 수 없음) |
%K |
mailto:URL 형식의 도우미 전자 메일 |
%k |
경보 카운트 |
%L |
위치 |
%l |
iCalendar 형식의 반복 규칙 |
%M |
수정 시간 |
%N |
새 행 |
%n |
"현재"(현재 타임스탬프이며 DTSTAMP와 함께 사용됨) |
%P |
우선 순위 |
%r |
반복 아이디(태스크가 반복되지 않는 경우에는 공백) |
%S |
태스크의 시퀀스 번호 |
%s |
요약 |
%t |
상태 |
%U |
UID |
%Z |
시간을 UTC 시간에 렌더링하기 위해 타임 필드 코드와 함께 사용됩니다. %B는 시작 시간을 지역 시간으로 표시하며 %ZB는 시작 시간을 UTC 시간으로 표시합니다. |
%% |
% 문자 표시 |
%(하위 형식 코드) |
코드에 의해 식벽ㄹ되는 데이터의 하위 형식을 지정합니다. 자세한 내용은 날짜 하위 형식 지정을 참조하십시오. |
다음 표에서는 날짜를 위한 특수 문자 시퀀스의 형식 코드와 의미를 제공합니다.
특수 데이터 형식 코드는 편의를 위해 이 절에 표시합니다. Calendar Server는 코드를 다시 쓰지 않고 운영 체제 구현을 사용합니다.
형식 코드 |
의미 |
---|---|
%a |
약어로 된 요일 이름 |
%A |
요일 이름 |
%b |
약어로 된 월 이름 |
%B |
월 이름 |
%c |
로켈을 위한 적절한 날짜 및 시간 표시 |
%d |
십진수로 표시한 월 중의 날짜(01 - 31) |
%H |
24 시간 형식으로 표시한 시간(00 - 23) |
%I |
12 시간 형식으로 표시한 시간(01 - 12) |
%j |
십진수로 표시한 일년 중의 일(001 - 366) |
%m |
십진수로 표시한 월(01 - 12) |
%M |
십진수로 표시한 분(00 - 59) |
%p |
12시간 시계를 위한 현재 로켈의 A.M./P.M. 표시 |
%S |
십진수로 표시한 초(00 - 59) |
%U |
일요일을 한 주의 첫 날로 간주하여 십진수로 표시한 일년 중의 주( 00 - 53) |
%w |
십진수로 표시한 요일(0 - 6. 일요일은 0) |
%W |
월요일을 한 주의 첫 날로 간주하여 십진수로 표시한 일년 중의 주( 00 - 53) |
%x |
현재 로켈을 위한 날짜 표시 |
%X |
현재 로켈을 위한 시간 표시 |
%y |
세기를 표시하지 않고 십질수로 표시한 연도(00 - 99 ) |
%Y |
세기와 함께 십진수로 표시한 연도 |
%Z |
표준 시간대 이름 또는 약어, 표준 시간대를 모르는 경우에는 문자가 없습니다. |
%% |
백분율 기호 |
다음 예는 기본 이벤트 미리 알림 메시지 형식을 보여 줍니다.
1 EVENT REMINDER 2 ~~MIME-Version: 1.0%N 3 ~~Content-Type: text/plain; charset=%s%N 4 ~~Content-Transfer-Encoding: %x%N%N 5 Summary: %s%N 6 Start: %(%a, %d %b %Y %I:%M %p)B%N 7 End: (%a, %d %b %Y %I:%M %p)E%N 8 Location: %L%N%N 9 Description: %N%d%N |
이 예의 각 행에 대한 설명은 다음과 같습니다.
1행은 메시지 제목입니다.
~~으로 시작하는 2행은 MIME 래퍼 행임을 나타냅니다. 즉, 특수 문자 시퀀스 교체는 이벤트나 태스크보다는 내부 MIME 객체와 관련됩니다. 특수 시퀀스 %N은 줄바꿈입니다. 제목 행을 제외한 모든 행에는 특별한 새 행 시퀀스가 필요합니다.
3행도 MIME 헤더 행입니다. 여기에 포함된 특수 문자 시퀀스 %s는 메일로 보내는 이벤트나 태스크와 관련된 문자 집합으로 대체됩니다.
4행은 마지막 MIME 행이며, %x는 이 메시지에 필요한 내용 전송 인코딩 문자열입니다.
5행은 이벤트 요약이며 %s를 사용하여 이벤트 요약을 호출합니다.
6행은 이벤트 시작 시간입니다. 특수 문자 시퀀스 %B에 하위 형식 문자열을 사용합니다. 자세한 내용은 날짜 하위 형식 지정을 참조하십시오.
7행은 이벤트 종료 시간입니다.
8행은 이벤트 위치입니다.
9행은 이벤트에 대한 설명입니다.
다음 예는 위의 예에 의해 생성된 알림 메시지와 비슷합니다.
From: jsmith@sesta.com (James Smith) Date: Wed, 15 Nov 1999 19:13:49 To: jsmith@sesta.com Subject: EVENT REMINDER MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Summary: smtp_rig event 1 Start: Tues, 16 Nov 1999 02:00 PM End: Tues, 16 Nov 1999 03:00 PM Location: Green Conference Room Description: This is the description for a randomly generated event. |
다음 예는 보다 복잡하게 여러 부분으로 이루어진 메시지를 보여 줍니다. 이 예는 텍스트 부분과 IMIP PUBLISH 부분으로 되어 있습니다.
EVENT PUBLICATION ~~MIME-Version: 1.0%N ~~Content-Type: multipart/mixed; boundary="%b"%N%N This is a multi-part message in MIME format.%N ~~--%b%N ~~Content-Type: text/plain; charset=%s%N ~~Content-Transfer-Encoding: %x%N%N Summary: %s%N Start: %(%a, %d %b %Y %I:%M %p)B%N End: %(%a, %d %b %Y %I:%M %p)E%N Location: %L%N%N Description: %N%d%N%N ~~--%b%N ~~Content-Type: text/calendar; method=%m; component=%c; charset=%s%N ~~Content-Transfer-Encoding: %x%N%N BEGIN:VCALENDAR%N PRODID:-//iPlanet/Calendar Hosting Server//EN%N METHOD:PUBLISH%N VERSION:2.0%N BEGIN:VEVENT%N ORGANIZER:%K%N DTSTAMP:%Zn%N DTSTART:%ZB%N DTEND:%ZE%N SUMMARY:%s%N UID:%U%N %R %A %a %e %l SEQUENCE:%S%N LOCATION:%L%N GEO:%G%N %F STATUS:%t%N END:VEVENT%N END:VCALENDAR%N ~~--%b-- |