प्राप्त करें, मैं जावा मेल लाइब्रेरी का उपयोग करके एक दृष्टिकोण में iCal भेजने की कोशिश कर रहा हूं, मैंने पहले से ही Question पढ़ा है, और मेरे पास पहले से ही कुछ नमूना कोड हैजावा मेल का उपयोग करके iCal मीटिंग अनुरोध कैसे भेजें, और प्रतिक्रिया
public class SendMeetingRequest {
String host = "" ;
String port = "" ;
String sender = "" ;
public static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd'T'HHmm'00'") ;
public static SimpleDateFormat dateParser = new SimpleDateFormat("dd-MM-yyyy HH:mm") ;
public static void main(String[] args) throws Exception {
SendMeetingRequest sender = new SendMeetingRequest() ;
sender.sendInvitation(“LogicaCMG Inschrijf Site”
, new String[] { “robert<dot>willems<dot>of<dot>brilman<at>logicacmg<dot>com”
}
, “Outlook Meeting Request Using JavaMail”
, dateParser.parse(“28-08-2006 18:00″)
, dateParser.parse(“28-08-2006 21:00″)
, “LIS-42″
, “Bar op scheveningen”
, “<font color=\”Red\”>Aanwezigheid verplicht!</font><br>We gaan lekker een biertje drinken met z’n allen.”
) ;
}
void sendInvitation(String organizer
, String[] to
, String subject
, Date start
, Date end
, String invitationId
, String location
, String description
) throws Exception {
try {
Properties prop = new Properties();
prop.put(”mail.smtp.port”, port);
prop.put(”mail.smtp.host”, host);
Session session = Session.getDefaultInstance(prop);
session.setDebug(true);
// Define message
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(sender));
// Set TO
if(to != null && (to.length > 0)) {
InternetAddress[] address = new InternetAddress[ to.length ] ;
for(int i = 0; i < to.length; i++) {
address[ i ] = new InternetAddress(to[ i ]) ;
}
message.setRecipients(Message.RecipientType.TO, address) ;
}
// Set subject
message.setSubject(subject);
// Create iCalendar message
StringBuffer messageText = new StringBuffer();
messageText.append("BEGIN:VCALENDAR\n" +
"PRODID:-//Microsoft Corporation//Outlook 9.0 MIMEDIR//EN\n" +
"VERSION:2.0\n" +
"METHOD:REQUEST\n" +
"BEGIN:VEVENT\n" +
"ORGANIZER:MAILTO:") ;
messageText.append(organizer) ;
messageText.append("\n" +
"DTSTART:");
messageText.append(dateFormat.format(start)) ;
messageText.append("\n" +
"DTEND:") ;
messageText.append(dateFormat.format(end)) ;
messageText.append("\n" +
"LOCATION:") ;
messageText.append(location) ;
messageText.append("\n" +
"UID:") ;
messageText.append(invitationId) ;
messageText.append("\n" +
"DTSTAMP:") ;
messageText.append(dateFormat.format(new java.util.Date())) ;
messageText.append("\n" +
"DESCRIPTION;ALTREP=\"CID:<eventDescriptionHTML>\”") ;
messageText.append(“\n” +
”BEGIN:VALARM\n” +
”TRIGGER:-PT15M\n” +
”ACTION:DISPLAY\n” +
”DESCRIPTION:Reminder\n” +
”END:VALARM\n” +
”END:VEVENT\n” +
”END:VCALENDAR”
) ;
Multipart mp = new MimeMultipart();
MimeBodyPart meetingPart = new MimeBodyPart() ;
meetingPart.setDataHandler(new DataHandler(new StringDataSource(messageText.toString(), “text/calendar”, “meetingRequest”))) ;
mp.addBodyPart(meetingPart) ;
MimeBodyPart descriptionPart = new MimeBodyPart() ;
descriptionPart.setDataHandler(new DataHandler(new StringDataSource(description, “text/html”, “eventDescription”))) ;
descriptionPart.setContentID(“<eventDescriptionHTML>”) ;
mp.addBodyPart(descriptionPart) ;
message.setContent(mp) ;
// send message
Transport.send(message);
} catch (MessagingException me) {
me.printStackTrace();
} catch (Exception ex) {
ex.printStackTrace();
}
}
private static class StringDataSource implements DataSource {
private String contents ;
private String mimetype ;
private String name ;
public StringDataSource(String contents
, String mimetype
, String name
) {
this.contents = contents ;
this.mimetype = mimetype ;
this.name = name ;
}
public String getContentType() {
return(mimetype) ;
}
public String getName() {
return(name) ;
}
public InputStream getInputStream() {
return(new StringBufferInputStream(contents)) ;
}
public OutputStream getOutputStream() {
throw new IllegalAccessError(“This datasource cannot be written to”) ;
}
} }
लेकिन अपने दृष्टिकोण 2007 और Outlook 2003 के अनुलग्नक के रूप भेजा जा रहा है, और यहां तक कि अगर मैं देख सकते हैं और स्वीकार करने के लिए लगाव क्लिक करें, मैं जवाब है, जो करने के लिए आवेदन का उद्देश्य है प्राप्त नहीं होता है दृष्टिकोण की तरह एक समान कार्यक्षमता है।
क्या कोई ऐसी प्रक्रिया है जिसके बारे में मुझे पता होना चाहिए, या यह आमंत्रण आईडी है जो चीज़ को किसी न किसी तरह बनाती है?
हाय अमृत, मैं अपने अकादमिक के लिए एक ही तरह के प्रोजेक्ट के साथ काम कर रहा हूं, मुझे अलर्ट और मीटिंग के रहने वाले लोगों को उठाने की ज़रूरत है, मैं जावा का उपयोग कर रहा हूं ताकि यह सब मेरा डिजाइन तैयार हो सके लेकिन आईसीएल एपीआई दृष्टिकोण करना मुश्किल है, तो क्या आप कृपया ऐसा करने में मेरी मदद कर सकते हैं! – 09Q71AO534
हाय @ user2561626 यदि आपने यहां कोड का उपयोग किया है तो आपको अलर्ट उठाने में सक्षम होना चाहिए और अनुस्मारक केवल Outlook के लिए ही कार्य कर रहा है, इसलिए इस पर कोई नियंत्रण नहीं है। –
मेरे पास ical4j डाउनलोड किया गया है, क्या मुझे इस कोड को यहां काम करने के लिए, अलर्ट और बचे हुए लोगों को बढ़ाने के लिए, किसी भी तरीके को बदलना चाहिए। – 09Q71AO534