Calendar Server는 E.4.1 Calendar Server 전자 메일 알림 구성 매개 변수 및 형식 파일에서 설명한 유형의 전자 메일 메시지를 전송합니다. 이 메시지의 형식은 이 표에 포함된 관련 형식(.fmt) 파일에 의해 제어됩니다. 형식 파일은 다음 디렉토리의 각 로켈(영어는 /en, 프랑스어는 /fr 등)을 위한 특정 디렉토리에 있습니다.
/etc/opt/SUNWics5/config
예를 들어, 수행할 작업 경보 메시지 형식의 영어 버전은 다음 파일에서 지정됩니다.
/etc/opt/SUNWics5/config/en/mail_todoalarm.fmt
이 절은 다음 내용으로 구성되어 있습니다.
다음 표에는 각 Calendar Server 메일 매개 변수의 메시지 유형, ics.conf 매개 변수 이름, 기본 형식 파일 설명 및 수신자가 정리되어 있습니다.
표 E–33 ics.conf 파일의 Calendar Server 전자 메일 형식
메시지 유형 |
매개 변수 |
형식 파일(기본값) |
설명 |
수신자 |
---|---|---|---|---|
이벤트 게시 |
fname |
이벤트 또는 기존 이벤트에 대한 변경을 알립니다. |
알림에 표시된 수신자 |
|
이벤트 취소 |
fname |
이벤트 취소를 알립니다. |
알림에 표시된 수신자 |
|
이벤트에 대한 응답 |
fname |
이벤트 알림에 응답합니다. |
알림에 표시된 수신자 |
|
이벤트 요청 |
fname |
이벤트 알림에 가입합니다. |
알림에 표시된 수신자 |
|
이벤트 경보 |
fname |
다가오는 이벤트를 미리 알립니다. |
미리 알림에 표시된 수신자 |
|
반복 이벤트 알림 |
notificationrecur.fname |
"mail_event notificationrecur.fmt" |
반복 이벤트를 알립니다. |
알림에 표시된 수신자 |
이벤트 취소 알림 |
notification.fname |
notification.fmt" |
취소된 이벤트를 알립니다. |
알림에 표시된 수신자 |
반복 이벤트 취소 알림 |
notificationrecur.fname |
notificationrecur.fmt" |
취소된 반복 이벤트를 알립니다. |
알림에 표시된 수신자 |
참석자 회신: 수락 알림 |
notification.fname |
notification.fmt" |
이벤트 주최자에게 참석자가 초대를 수락했음을 알려줍니다. |
이벤트 주최자 |
참석자 회신: 거절 알림 |
notification.fname |
notification.fmt" |
이벤트 주최자에게 참석자가 초대를 거절했음을 알려줍니다. |
이벤트 주최자 |
참석자 회신: 잠정적 수락 알림 |
acceptnotification.fname |
acceptnotification.fmt" |
이벤트 주최자에게 참석자가 초대를 잠정적으로 수락했음을 알려줍니다. |
이벤트 주최자 |
참석자 회신: 반복 이벤트의 수락 알림 |
notificationrecur.fname |
notificationrecur.fmt" |
이벤트 주최자에게 참석자가 반복 이벤트에 대한 초대를 수락했음을 알려줍니다. |
이벤트 주최자 |
참석자 회신: 반복 이벤트의 거절 알림 |
notificationrecur.fname |
notificationrecur.fmt" |
이벤트 주최자에게 참석자가 반복 이벤트에 대한 초대를 거절했음을 알려줍니다. |
이벤트 주최자 |
참석자 회신: 반복 이벤트의 잠정적 수락 알림 |
tentativeaccept notificationrecur.fname |
acceptnotificationrecur.fmt" |
이벤트 주최자에게 참석자가 반복 이벤트에 대한 초대를 잠정적으로 수락했음을 알려줍니다. |
이벤트 주최자 |
작업 게시 |
fname |
작업 또는 기존 작업에 대한 변경을 알립니다. |
알림에 표시된 수신자 |
|
작업 취소 |
작업 취소를 알립니다. |
알림에 표시된 수신자 |
||
작업에 대한 응답 |
fname |
작업 알림에 응답합니다. |
알림에 표시된 수신자 |
|
수행할 작업 요청 |
fname |
수행할 작업 알림에 가입합니다. |
알림에 표시된 수신자 |
|
작업 경보 |
fname |
다가오는 작업을 미리 알립니다. |
미리 알림에 표시된 수신자 |
Calendar Server는 특정 이벤트 또는 작업을 형식 파일의 내용과 결합하여 알림 메시지를 만듭니다. 이벤트 또는 작업의 데이터 필드 값은 메시지에 출력될 수 있습니다. 알림 메시지에는 MIME 헤더 행과 관련된 특수 값이 포함될 수도 있습니다. 특수 문자 시퀀스(형식 표시)를 사용하여 이벤트, 작업 및 MIME 헤더의 값을 메시지에 포함시킬 수 있습니다. 형식 파일의 행은 메일 메시지가 생성될 때 달력 데이터 필드의 실제 값으로 대체할 수 있는 특수 문자 시퀀스로 구성된 형식 문자열입니다. 특수 문자 시퀀스는 두 개의 문자로 구성됩니다. 첫 번째 문자는 백분율 기호(%)이고 두 번째 문자는 특정 형식 표시를 나타냅니다.
다음 절에서 특수 문자 시퀀스에 대해 설명합니다.
다음 표에는 이벤트 알림을 위한 특수 문자 시퀀스의 형식 코드와 의미가 정리되어 있습니다.
표 E–34 이벤트 알림을 위한 특수 문자 시퀀스
형식 코드 |
의미 |
---|---|
%0 |
현지화된 형식의 시작 시간 |
%1 |
현지화된 형식의 종료 시간 |
%A |
iCalendar 형식의 exdates(제외할 날짜를 표시하며 세미콜론으로 구분되는 ISO 8601 날짜 문자열 목록) |
%a |
iCalendar 형식의 rdates(반복 날짜를 표시하며 세미콜론으로 구분되는 ISO 8601 날짜 문자열 목록) |
%B |
시작 시간(%Z 참조) |
%b |
시작 시간과 종료 시간을 iCalendar 형식으로 출력. 시작 시간 매개 변수의 값이 날짜와 같으면 해당 날짜의 월/일/연도만 출력합니다. 종료 시간의 월/일/연도가 시작 시간과 같으면 시작 시간만 생성됩니다. |
%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 시간으로 표시합니다. |
%% |
백분율(%) 문자를 표시합니다. |
% |
코드에 의해 식별되는 날짜의 하위 형식을 지정합니다. 자세한 내용은 E.4.3 Calendar Server 알림 날짜 하위 형식 문자열을 참조하십시오. |
날짜-시간 값은 여러 가지 형식으로 지정할 수 있습니다. 하위 형식을 사용하여 날짜-시간 형식 지정 방법을 설명하는 추가 정보를 제공할 수 있습니다. 하위 형식을 지정하지 않으면 서버는 기본 형식을 사용하여 날짜를 출력합니다. 하위 형식 필드를 사용하면 사용할 정확한 형식을 지정할 수 있습니다.
예를 들어, %B는 출력 문자열에 이벤트의 시작 시간이 포함되도록 지정합니다. 이 기본 형식은 날짜, 시간, 표준 시간대 및 날짜에 대한 모든 정보를 출력합니다. 날짜 값의 하위 형식 문자열은 strftime 형식 문자열입니다( E.4.6 날짜를 위한 특수 문자 시퀀스 참조). 시작 시간의 월과 연도만 필요한 경우 %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–35 작업 알림을 위한 특수 문자 시퀀스
형식 코드 |
의미 |
---|---|
%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 시간으로 표시합니다. |
%% |
% 문자 표시 |
%(하위 형식 코드) |
코드로 식별되는 데이터의 하위 형식을 지정합니다. 자세한 내용은 E.4.3 Calendar Server 알림 날짜 하위 형식 문자열을 참조하십시오. |
다음 표에서는 날짜를 위한 특수 문자 시퀀스의 형식 코드와 의미를 제공합니다.
특수 데이터 형식 코드는 편의를 위해 이 절에 표시합니다. 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에 하위 형식 문자열을 사용합니다. 자세한 내용은 E.4.3 Calendar Server 알림 날짜 하위 형식 문자열을 참조하십시오.
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-- |