Lavorare con appuntamenti
Carica e salva un appuntamento in formato ICS
Il Appointment La classe in Aspose.Email per Java può essere usata per caricare un appuntamento in formato ICS così come per creare un nuovo appuntamento e salvarlo su disco in formato ICS. In questo articolo, creiamo prima un appuntamento e lo salviamo su disco in formato ICS, poi lo carichiamo.
Carica un appuntamento in formato ICS
Per caricare un appuntamento in formato ICS, sono necessari i seguenti passaggi:
- Crea un’istanza di Appointment classe.
- Chiama il Load() metodo fornendo il percorso del file ICS.
- Leggi qualsiasi proprietà per ottenere informazioni dall’appuntamento (file ICS).
I seguenti frammenti di codice mostrano come caricare un appuntamento in formato ICS.
Crea un appuntamento e salvalo su disco in formato ICS
I seguenti passaggi sono necessari per creare un appuntamento e salvarlo in formato ICS.
- Crea un’istanza di Appointment classe e inizializzarla con questo costruttore.
- Passare i seguenti argomenti nel costruttore sopra
- Partecipanti
- Descrizione
- Data di fine
- Posizione
- Organizzatore
- Data di inizio
- Riepilogo
- Data di creazione
- Data ultima modifica
- Chiama il Save() metodo e specificare il nome file e il formato negli argomenti.
L’appuntamento può essere aperto in Microsoft Outlook o in qualsiasi programma in grado di caricare un file ICS. Se il file viene aperto in Microsoft Outlook, aggiunge automaticamente l’appuntamento nel calendario di Outlook.
I seguenti frammenti di codice mostrano come creare e salvare un appuntamento su disco in formato ICS.
Salvataggio degli appuntamenti in formato MSG
Aspose.Email consente di salvare gli appuntamenti direttamente in file .msg. Le seguenti classi pubbliche sono disponibili per personalizzare il processo di salvataggio degli appuntamenti:
- AppointmentMsgSaveOptions classe con opzioni aggiuntive per salvare gli appuntamenti nel formato msg.
- AppointmentIcsSaveOptions classe con opzioni aggiuntive per salvare l’appuntamento nel formato ics. È stata aggiunta per sostituire la obsoleta IcsSaveOptions.
Il frammento di codice qui sotto mostra come caricare un appuntamento da un file e poi salvarlo in due formati diversi: .ics e .msg.
Appointment appointment = Appointment.load("fileName");
appointment.save("fileName.ics", new AppointmentIcsSaveOptions());
appointment.save("fileName.msg", new AppointmentMsgSaveOptions());
Crea un appuntamento con contenuto HTML
È una pratica comune usare l’intestazione X-ALT-DESC nel formato iCalendar (RFC 5545). È una proprietà estesa che fornisce una descrizione alternativa leggibile dall’uomo di un elemento o evento del calendario. Questa intestazione è spesso usata per includere una rappresentazione in testo semplice o HTML della descrizione dell’evento, utile per la compatibilità con software di calendario più vecchi o per fornire una versione semplificata della descrizione. Nei casi in cui la descrizione primaria non sia supportata o visualizzata correttamente dall’applicazione di calendario del destinatario, l’intestazione X-ALT-DESC viene usata per fornire una descrizione alternativa dell’evento. Consente al mittente di includere diverse rappresentazioni della descrizione dell’evento per garantire una migliore compatibilità e accessibilità su diversi software e piattaforme di calendario. Per creare un appuntamento con contenuto HTML, impostare il HtmlDescription proprietà a ’true’. Prova il seguente esempio di codice che dimostra come creare e definire un oggetto appuntamento con dettagli e impostazioni specifiche, includendo data, ora, posizione, organizzatore, partecipanti e una descrizione formattata:
Date startDate = new Date();
Appointment appointment = new Appointment("Bygget 83",
startDate, // start date
addHours(startDate, 1), // end date
new MailAddress("TintinStrom@from.com", "Tintin Strom"), // organizer
MailAddressCollection.to_MailAddressCollection(
new MailAddress("AinaMartensson@to.com", "Aina Martensson"))); // attendee
appointment.setHtmlDescription("<html>\n"
+ " <style type=\"\"text/css\"\">\n"
+ " .text {\n"
+ " font-family:'Comic Sans MS';\n"
+ " font-size:16px;\n"
+ " }\n"
+ " </style>\n"
+ " <body>\n"
+ " <p class=\"\"text\"\">Hi, I'm happy to invite you to our party.</p>\n"
+ " </body>\n"
+ " </html>");
Crea una richiesta di appuntamento bozza
Per salvare un appuntamento in modalità bozza, il Method proprietà del Appointment la classe dovrebbe essere impostata su Publish. Il seguente esempio di codice dimostra l’uso di questa proprietà come esempio.
Creazione di un appuntamento bozza da testo
Aggiunta e rimozione di allegati dagli elementi del calendario
Aspose.Email fornisce una collezione di allegati che può essere usata per aggiungere e recuperare gli allegati associati agli elementi del calendario. Questo articolo mostra come:
- Crea e aggiungi allegati a un Appointment oggetto classe.
- Recupera le informazioni sugli allegati da un appuntamento.
- Estrai gli allegati da un appuntamento.
Formattazione degli appuntamenti
Gli esempi di programmazione qui sotto mostrano come usare il AppointmentFormattingOptions classe per formattare testo e HTML.
Esempio di programmazione - Formattazione del testo
Esempio di programmazione - Formattazione HTML
Leggi più eventi da un file ICS
Scrivi più eventi in un file ICS
Imposta lo stato dei partecipanti agli appuntamenti
L’API Aspose.Email per .NET consente di impostare lo stato dei partecipanti all’appuntamento durante la formulazione di un messaggio di risposta. Questo aggiunge la proprietà PARTSTAT al file ICS.
Personalizza l’identificatore del prodotto per iCalendar
L’API Aspose.Email per Java consente di ottenere o impostare l’identificatore del prodotto che ha creato l’oggetto iCalendar.
Come aggirare la validazione dell’indirizzo quando si tenta di caricare appuntamenti
L’API Aspose.Email per Java consente di aggirare l’errore di validazione dell’e-mail impostando il IgnoreSmtpAddressCheck opzione su AppointmentLoadOptions oggetto e passarli alla chiamata load.
AppointmentLoadOptions lo = new AppointmentLoadOptions();
lo.setIgnoreSmtpAddressCheck(true);
Appointment appointment = Appointment.load("app.ics", lo);