עבודה עם אפשרות הצבעה באמצעות MapiMessage
יצירת אפשרות הצבעה באמצעות MapiMessage
Microsoft Outlook מאפשר למשתמשים ליצור סקר בעת כתיבת הודעה חדשה. הוא מאפשר לכלול אפשרויות הצבעה כגון כן, לא, אולי וכו’. Aspose.Email מאפשר את אותו הדבר בעת יצירת הודעת Outlook חדשה. ה‑ FollowUpOptions class מספקת את VotingButtons תכונה שניתן להשתמש בה כדי לקבוע או לקבל את ערך אפשרויות ההצבעה. מאמר זה מספק דוגמה מפורטת ליצירת MapiMessage עם אפשרויות הצבעה ליצירת סקר.
יצירת סקר באמצעות MapiMessage
הקטע הקוד שלהלן מציג כיצד ליצור סקר, ה‑ FollowUpManager המחלקה ניתנת לשימוש כפי שמודגם בקוד שלהלן.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
String address = "firstname.lastname@aspose.com";
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
MailMessage message = createTestMessage(address);
// Set FollowUpOptions Buttons
FollowUpOptions options = new FollowUpOptions();
options.setVotingButtons("Yes;No;Maybe;Exactly!");
client.send(message, options);
קריאת אפשרויות הצבעה מתוך MapiMessage
הקוד שלהלן מציג כיצד לקרוא אפשרויות הצבעה מ‑ MapiMessage.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String fileName = "outlook/message.msg";
MapiMessage message = MapiMessage.fromFile(fileName);
// This method can be useful when except voting buttons it is necessary to get other parameters (ex. a category)
FollowUpOptions options = FollowUpManager.getOptions(message);
// Voting buttons will be introduced as a string with semi-column as a separator
String votingButtons = options.getVotingButtons();
קריאת רק כפתורי הצבעה
הקוד שלהלן מציג כיצד לקרוא רק כפתורי הצבעה.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
InputStream ms = new FileInputStream(dataDir + "MapiMsgWithPoll_out.msg");
MapiMessage testMsg = MapiMessage.fromStream(ms);
// This method can be useful when it is necessary to read only voting buttons
// Voting buttons will be introduced as a collection of string values
IList buttons = FollowUpManager.getVotingButtons(testMsg);
הוספת כפתור הצבעה להודעה קיימת
הקוד שלהלן מציג כיצד להוסיף כפתור הצבעה להודעה קיימת.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = "outlook/";
MapiMessage mapi = MapiMessage.fromFile(dataDir + "message.msg");
FollowUpManager.addVotingButton(mapi, "Indeed!");
mapi.save(dataDir + "AddVotingButtonToExistingMessage_out.msg");
מחיקת כפתור הצבעה מהודעה
הקוד שלהלן מציג כיצד למחוק כפתור הצבעה מהודעה.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = "outlook/";
// Create New Message and set FollowUpOptions, FollowUpManager properties
MapiMessage msg = createTestMessage(false);
FollowUpOptions options = new FollowUpOptions();
options.setVotingButtons("Yes;No;Maybe;Exactly!");
FollowUpManager.setOptions(msg, options);
msg.save(dataDir + "MapiMsgWithPoll.msg");
FollowUpManager.removeVotingButton(msg, "Exactly!"); // Deleting a single button OR
FollowUpManager.clearVotingButtons(msg); // Deleting all buttons from a MapiMessage
msg.save(dataDir + "MapiMsgWithPoll.msg");
קריאת מידע תוצאות ההצבעה
הקוד שלהלן מציג כיצד לקרוא את מידע תוצאות ההצבעה.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = "outlook/";
MapiMessage msg = MapiMessage.fromFile(dataDir + "AddVotingButtonToExistingMessage.msg");
for (MapiRecipient recipient : msg.getRecipients()) {
System.out.println("Recipient: " + recipient.getDisplayName());
// Get the PR_RECIPIENT_AUTORESPONSE_PROP_RESPONSE property
System.out.println("Response: " + recipient.getProperties().get_Item(MapiPropertyTag.PR_RECIPIENT_AUTORESPONSE_PROP_RESPONSE).getString());
// Get the PR_RECIPIENT_TRACKSTATUS_TIME property
System.out.println("Response time: " + recipient.getProperties().get_Item(MapiPropertyTag.PR_RECIPIENT_TRACKSTATUS_TIME).getDateTime());
System.out.println();
}
שיטות דוגמה המשמשות בדוגמאות
הקוד שלהלן מציג כיצד ליצור הודעה לדוגמה המשמשת בדוגמאות.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
public static MapiMessage createTestMessage(boolean draft) {
MapiMessage msg = new MapiMessage("from@test.com", "to@test.com", "Flagged message",
"Make it nice and short, but descriptive. The description may appear in search engines' search results pages...");
if (!draft) {
msg.setMessageFlags(msg.getFlags() ^ MapiMessageFlags.MSGFLAG_UNSENT);
}
return msg;
}