You send alot of email using apex , but how do you send Calendar Invites? here in this post i will explain you how to send calender invites using apex
So to send meeting invites you need to follow the following steps :
1) first create a visualforce page on which put a button on click of which we will send metting invites.
2) Apex class that is used to send the email, and has a method that generates the Calendar invite.
so here is the visualforce page :
<apex:page controller="SendInvites"> <apex:form> Email: <apex:inputText value="{!sendTo}" /> <apex:commandButton value="Send" action="{!sendInvite}" /> </apex:form> </apex:page>
Controller Class Code : SendInvites
public class SendInvites { public String sendTo { get; set; } public SendEmail() {} public PageReference sendInvite() { Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); String[] toAddresses = new String[] {sendTo}; mail.setToAddresses(toAddresses); mail.setSubject('Meeting Invitation'); mail.setPlainTextBody(''); Messaging.EmailFileAttachment attach = new Messaging.EmailFileAttachment(); attach.filename = 'meeting.ics'; attach.ContentType = 'text/calendar;'; attach.inline = true; attach.body = invite(); mail.setFileAttachments(new Messaging.EmailFileAttachment[] {attach}); Messaging.SendEmailResult[] er = Messaging.sendEmail(new Messaging.Email[] {mail}); return null; } private Blob invite() { String txtInvite = ''; txtInvite += 'BEGIN:VCALENDAR\n'; txtInvite += 'PRODID:-//Microsoft Corporation//Outlook 12.0 MIMEDIR//EN\n'; txtInvite += 'VERSION:2.0\n'; txtInvite += 'METHOD:PUBLISH\n'; txtInvite += 'X-MS-OLK-FORCEINSPECTOROPEN:TRUE\n'; txtInvite += 'BEGIN:VEVENT\n'; txtInvite += 'CLASS:PUBLIC\n'; txtInvite += 'CREATED:20091026T203709Z\n'; txtInvite += 'DTEND:20091028T010000Z\n'; txtInvite += 'DTSTAMP:20091026T203709Z\n'; txtInvite += 'DTSTART:20091028T000000Z\n'; txtInvite += 'LAST-MODIFIED:20091026T203709Z\n'; txtInvite += 'LOCATION:Online\n'; txtInvite += 'PRIORITY:5\n'; txtInvite += 'SEQUENCE:0\n'; txtInvite += 'SUMMARY;'; txtInvite += 'LANGUAGE=en-us:Meeting\n'; txtInvite += 'TRANSP:OPAQUE\n'; txtInvite += 'UID:4036587160834EA4AE7848CBD028D1D200000000000000000000000000000000\n'; txtInvite += 'X-ALT-DESC;FMTTYPE=text/html:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"><HTML><HEAD><META NAME="Generator" CONTENT="MS Exchange Server version 08.00.0681.000"><TITLE></TITLE></HEAD><BODY><!-- Converted from text/plain format --></BODY></HTML>\n'; txtInvite += 'X-MICROSOFT-CDO-BUSYSTATUS:BUSY\n'; txtInvite += 'X-MICROSOFT-CDO-IMPORTANCE:1\n'; txtInvite += 'END:VEVENT\n'; txtInvite += 'END:VCALENDAR'; return Blob.valueOf(txtInvite); } }
Hits: 13122