Sun Java System Calendar Server 6 2005Q4 管理指南

通知訊息

Calendar Server 可傳送Calendar Server 郵件參數中說明的各種類型的電子郵件訊息。這些訊息的格式由表中列出的關聯格式 (.fmt) 檔案控制。格式檔案位於以下目錄中每個語言環境 (例如 /en 為英文,/fr 為法語) 的特定目錄中︰

/etc/opt/SUNWics5/config

例如,英文版本的工作 (待辦事項) 警示訊息格式在以下檔案中指定︰

/etc/opt/SUNWics5/config/en/mail_todoalarm.fmt

本小節說明以下內容:

Calendar Server 郵件參數

下表顯示每個 Calendar Server Mail 參數的訊息類型、參數名稱、預設格式檔案說明以及收信人。

表 E–30 ics.conf 檔案中的 Calendar Server 電子郵件格式

訊息類型 

參數 

格式檔案 (預設) 

說明 

收信人 

事件發佈 

calmail.imipeventpublish .fname

"mail_eventpublish.fmt"

宣佈事件或現有事件的變更 

通知中列出的人員 

事件取消 

calmail.imipeventcancel.fname

"mail_eventcancel.fmt"

宣佈事件取消 

通知中列出的人員 

回覆事件 

calmail.imipeventreply.fname

"mail_eventreply.fmt" 

回覆事件通知。 

通知中列出的人員 

請求事件 

calmail.imipeventrequest .fname

"mail_eventrequest.fmt" 

訂閱事件通知。 

通知中列出的人員 

事件警示 

calmail.eventreminder.fname

"mail_eventreminder.fmt"

提醒即將發生的事件 

提醒通知中列出的人員 

週期性事件通知 

calmail .imipeventnotificationrecur .fname

“mail_event notificationrecur.fmt” 

週期性事件的通知 

通知中列出的人員 

事件取消通知 

calmail .imipeventcancelnotification .fname

“mail_eventcancel notification.fmt” 

已取消事件的通知 

通知中列出的人員 

週期性事件取消通知 

calmail .imipeventcancelnotification recur.fname

“mail_eventcancel notificationrecur.fmt” 

已取消的週期性事件的通知 

通知中列出的人員 

工作發佈 

calmail.imiptodopublish.fname

"mail_todopublish.fmt"

宣佈工作或現有工作的變更 

通知中列出的人員 

工作取消 

calmail.imiptodocancel.fname

"mail_todocancel.fmt"

宣佈工作取消 

通知中列出的人員 

回覆工作 

calmail.imiptodoreply.fname

"mail_todoreply.fmt" 

回覆工作通知 

通知中列出的人員 

待辦事項請求 

calmail.imiptodorequest.fname

"mail_todorequest.fmt" 

訂閱待辦事項通知。 

通知中列出的人員 

工作警示 

calmail.todoreminder.fname

"mail_todoreminder.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 

週期性 ID (如果此事件不重複發生,則為空白) 

%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

"now" (目前的時間戳記,與 DTSTAMP 配合使用)

%P

優先順序 

%r

週期性 ID (如果此工作不週期性出現,則為空白) 

%S

工作的序列號碼 

%s

摘要 

%t

狀態 

%U

UID

%Z

與時間欄位代碼結合使用,以強制時間在 UTC 中被描繪 (%B 以本地時間顯示起始時間,而 %ZB 以 UTC 時間顯示起始時間)

%%

顯示 % 字元

% (子格式代碼)

指定由代碼識別的資料的子格式 (如需詳細資訊,請參閱日期子格式)

日期的特殊字元序列

下表顯示日期特殊字元序列的格式代碼和含義。


備註 –

本小節中出現的特殊日期格式代碼僅為方便使用。Calendar Server 不會重寫任何代碼,而僅使用作業系統所採用的日期格式。


表 E–33 日期的特殊字元序列

格式代碼 

涵義 

%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 小時制時鐘) 

%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

         

此範例中每行的說明如下︰

以下範例類似上述範例產生的通知訊息︰


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--