2011-12-30 9 views
2

予定を電子メールでカレンダーに追加する例が必要です。たとえば、予定についてクライアントに電子メールを送信するときに、電子メールにボタンをクリックするだけでイベントをカレンダーに追加できるオプションが必要です。電子メール通知を使用して予定表に予定を追加する

誰かが私にそれを指示できるものはありますか?

私は、これは主にColdFusionの9

おかげでそれを使用する必要があります!

+2

ICSを調べます。それはかなりシンプルな形式で、あなたの現代のカレンダーのほとんどと摩擦なく機能します。 (イントラネットでOutlookカレンダーにイベントを追加できるようにイントラネットのようなことをしましたが残念ながら手渡すコードはありません) – ale

+0

@AlEverett情報をお寄せいただきありがとうございます。 – Geo

答えて

2

私はhttp://www.cflib.org/udf/icalus

WebDHからiCalUs UDFをお勧めします素晴らしい例hereを提供します。

ここで私はCF9を使用して、すばやくまとめましたが、まだテストしていません。

<cfscript> 

    eventStr = {}; 
    eventStr.organizerName = "John Doe"; //Organizer Name 
    eventStr.organizerEmail = "[email protected]"; //Organizer Email 
    eventStr.startTime = ParseDateTime("12/30/2011 11:00"); //format: m/d/yyyy HH:mm OR h:mm TT -- this is Eastern time 
    eventStr.subject = "Demo Example"; 
    eventStr.location = "StackOverflow.com"; 
    eventStr.description = "Example iCalendar using CF9"; 

    // Display in browser 
    //pc = getpagecontext().getresponse(); 
    //pc.getresponse().setcontenttype('text/calendar'); 
    //pc.setHeader("Content-Disposition","inline;filename=newAppointment.ics"); 
    //writeOutput(iCalUS(eventStr)); 

    //Email 
    m = new mail(); 
    m.setSubject("Event"); 
    m.setTo("[email protected]"); 
    m.setFrom("[email protected]"); 
    m.setServer("localhost"); 
    //m.addParam(file="#ACCOUNT_TXT_FILE#"); 
    m.addPart(type="text", charset="utf-8", wraptext="72", body="Attached is a calendar event..."); 
    m.addPart(type="text/calendar" body="#iCalUS(eventStr)#"); 
    m.send(); 

</cfscript> 

ここでカレンダーイベントを電子メールで送信する方法を示して別の例referenceです。

+0

助けてくれてありがとう私は話しているように私はそれに取り組んでいます。それは難しいことではありません。私は毎日私の会社が毎日発送している様々な電子メールでそれをテストするために時間を費やす必要があります – Geo

+0

私はそれをしました。再度、感謝します! – Geo

1

これは、ICS形式の非常に基本的な実装です。これはブラウザからアクセスできるように設計されていますが、ICSエクステンションを含むテキストファイルを作成して電子メールで送信することはかなり学術的です。

<cfheader name="Content-Disposition" value="attachment; filename=event.ics" /> 
<cfcontent reset="true" type="text/calendar" /> 
<cfscript> 
// handle all-day events 
if (NOT isDate(starttime) OR NOT isDate(endtime)) { 
    dtstart=';VALUE=DATE:#dateFormat(eventdate,"yyyymmdd")#'; 
    dtend=';VALUE=DATE:#dateFormat(dateAdd("d",1,eventdate),"yyyymmdd")#'; 
} else { 
    dtstart=';TZID="Eastern Standard Time":#dateFormat(eventdate,"yyyymmdd")#T#timeFormat(starttime,"HHmmss")#'; 
    dtend=';TZID="Eastern Standard Time":#dateFormat(eventdate,"yyyymmdd")#T#timeFormat(endtime,"HHmmss")#'; 
} 
</cfscript> 

<cfoutput> 
BEGIN:VCALENDAR 
PRODID:-//Company//Source//EN 
VERSION:2.0 
METHOD:PUBLISH 
BEGIN:VTIMEZONE 
TZID:Eastern Standard Time 
BEGIN:STANDARD 
DTSTART:16011104T020000 
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11 
TZOFFSETFROM:-0400 
TZOFFSETTO:-0500 
END:STANDARD 
BEGIN:DAYLIGHT 
DTSTART:16010311T020000 
RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3 
TZOFFSETFROM:-0500 
TZOFFSETTO:-0400 
END:DAYLIGHT 
END:VTIMEZONE 
BEGIN:VEVENT 
CLASS:PUBLIC 
CREATED:#dateFormat(dateAdded,"yyyymmdd")#T#timeFormat(dateAdded,"HHmmss")#Z 
DESCRIPTION:#desc# 
DTEND#dtend# 
DTSTAMP:#dateFormat(dateAdded,"yyyymmdd")#T#timeFormat(dateAdded,"HHmmss")#Z 
DTSTART#dtstart# 
LAST-MODIFIED:#dateFormat(dateApproved,"yyyymmdd")#T#timeFormat(dateApproved,"HHmmss")#Z 
LOCATION:#location# 
PRIORITY:5 
SEQUENCE:0 
SUMMARY;LANGUAGE=en-us:#title# 
TRANSP:OPAQUE 
UID:#dateFormat(now(),"yyyymmdd")#T#timeFormat(now(),"HHmmss")#[email protected]#uniqueID# 
BEGIN:VALARM 
TRIGGER:-PT15M 
ACTION:DISPLAY 
DESCRIPTION:Reminder 
END:VALARM 
END:VEVENT 
END:VCALENDAR 
</cfoutput> 
関連する問題