MSG में वोटिंग विकल्प और प्रतिक्रियाओं के साथ काम करना
MapiMessage के साथ वोटिंग विकल्प बनाएं
Microsoft Outlook एक नई ईमेल लिखते समय पोल बनाने की सुविधा देता है, जिससे उपयोगकर्ता Yes, No, Maybe आदि जैसे वोटिंग विकल्प शामिल कर सकते हैं। Aspose.Email प्रोग्रामेटिक रूप से नया Outlook संदेश बनाते समय समान कार्यक्षमता प्रदान करता है। यह FollowUpOptions class प्रदान करता है VotingButtons वोटिंग विकल्प सेट या प्राप्त करने के लिए उपयोग की जा सकने वाली प्रॉपर्टी। MapiMessage Aspose.Email नेमस्पेस के भीतर एक क्लास को दर्शाता है जो माइक्रोसॉफ्ट Outlook द्वारा सामान्यतः उपयोग किए जाने वाले मैसेजिंग एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (MAPI) फ़ॉर्मेट में ईमेल संदेश का प्रतिनिधित्व करता है। MapiMessage क्लास का उपयोग करके, डेवलपर ईमेल में पोलिंग बटन जोड़ सकते हैं। यह लेख विस्तृत उदाहरण प्रदान करता है कि कैसे वैटिंग विकल्पों के साथ MapiMessage बनाकर एक पोल बनाया जाए।
पोल बनाएं
निम्नलिखित कोड स्निपेट दर्शाता है कि Aspose.Email का उपयोग करके Outlook संदेश में पोल कैसे बनाया जाता है। यह FollowUpManager वोटिंग विकल्प सेट करने में क्लास सुविधा प्रदान करती है।
// Create a MapiMessage with the sender, recipient, subject, and body
var 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..."
);
// Create FollowUpOptions and set the voting buttons
var options = new FollowUpOptions
{
VotingButtons = "Yes;No;Maybe;Exactly!"
};
// Apply the follow-up options to the message
FollowUpManager.SetOptions(msg, options);
- FollowUpOptions: वोटिंग बटन जैसे फॉलो‑अप एक्शन को कॉन्फ़िगर करने के लिए प्रॉपर्टी प्रदान करता है।
- VotingButtons: एक स्ट्रिंग प्रॉपर्टी जहाँ विभिन्न वोटिंग विकल्प सेमिकॉलन द्वारा अलग किए गए होते हैं।
- FollowUpManager.SetOptions: निर्दिष्ट फॉलो‑अप विकल्पों को संदेश पर लागू करता है।
वोटिंग विकल्प पढ़ें
वोटिंग विकल्प प्राप्त करने के लिए MapiMessage, आप उपयोग कर सकते हैं GetOptions मेथड। यह मेथड केवल वोटिंग बटन नहीं, बल्कि आवश्यक होने पर श्रेणियों जैसे अतिरिक्त पैरामीटर भी प्रदान कर सकता है।
// Retrieve follow-up options from the message
var options = FollowUpManager.GetOptions(msg);
// Voting buttons are returned as a string with a semicolon separator
string votingButtons = options.VotingButtons;
// Display the voting buttons
Console.WriteLine($"Voting Options: {votingButtons}");
- GetOptions: प्राप्त करता है FollowUpOptions संदेश से ऑब्जेक्ट, जिसमें वोटिंग बटन और संभवतः अन्य प्रॉपर्टीज़ शामिल हैं।
- VotingButtons: विकल्पों को सेमिकोलन द्वारा विभाजित स्ट्रिंग के रूप में निकाला जाता है, जिससे आसान डिस्प्ले या मैनिपुलेशन संभव हो जाता है।
वोटिंग बटन पढ़ें
यदि आपको केवल वोटिंग बटनों को व्यक्तिगत स्ट्रिंग्स की सूची के रूप में एक्सेस करना है, तो आप उपयोग कर सकते हैं GetVotingButtons मेथड, जो उन्हें कलेक्शन के रूप में लौटाता है।
// Read only voting buttons as a collection of string values
var votingButtons = FollowUpManager.GetVotingButtons(msg);
// Display each voting button
foreach (var button in votingButtons)
{
Console.WriteLine($"Voting Button: {button}");
}
- GetVotingButtons: वोटिंग बटन स्ट्रिंग्स का एक कलेक्शन लौटाता है, जिससे उनपर इटरैट करना और डिस्प्ले या मॉडिफाई जैसे ऑपरेशन करना सुविधाजनक हो जाता है।
वोटिंग बटन जोड़ें
आप मौजूदा संदेश में अतिरिक्त वोटिंग बटन जोड़ सकते हैं, उपयोग करके AddVotingButton मेथड। यह वोटिंग विकल्पों को डायनेमिक रूप से अपडेट करने में उपयोगी हो सकता है।
// Add a new voting button to the existing message
FollowUpManager.AddVotingButton(msg, "Indeed!");
- AddVotingButton: संदेश के मौजूदा वोटिंग बटनों में एक नया वोटिंग विकल्प जोड़ता है, जिससे पोलों का डायनेमिक कस्टमाइज़ेशन संभव होता है।
वोटिंग बटन हटाएँ
आप विशिष्ट वोटिंग बटन हटाना या संदेश से सभी बटन साफ़ करना चाहते हो सकते हैं। निम्नलित कोड दोनों क्रियाओं को दर्शाता है, उपयोग करके RemoveVotingButton और ClearVotingButtons मेथड्स।
// Delete a specific voting button
FollowUpManager.RemoveVotingButton(msg, "Exactly!");
// Or delete all voting buttons from the MapiMessage
FollowUpManager.ClearVotingButtons(msg);
- RemoveVotingButton: नाम द्वारा एक विशिष्ट वोटिंग बटन को हटाता है।
- ClearVotingButtons: सभी वोटिंग बटन हटाता है, जिससे वोटिंग विकल्प प्रभावी रूप से रीसेट हो जाते हैं।
वोट परिणाम पढ़ें
Aspose.Email संदेश के प्राप्तकर्ताओं से वोट परिणाम पढ़ने की भी अनुमति देता है। आप प्राप्तकर्ता की प्रतिक्रिया और प्रतिक्रिया समय जैसी प्रॉपर्टीज़ तक पहुँच सकते हैं।
// Load a MapiMessage from a file
var msg = MapiMessage.Load("sample.msg");
// Iterate through each recipient and display their vote information
foreach (var recipient in msg.Recipients)
{
Console.WriteLine($"Recipient: {recipient.DisplayName}");
// Get the recipient's response using the appropriate MapiPropertyTag
var response = recipient.Properties[MapiPropertyTag.PR_RECIPIENT_AUTORESPONSE_PROP_RESPONSE].GetString();
Console.WriteLine($"Response: {response}");
// Get the response time
var responseTime = recipient.Properties[MapiPropertyTag.PR_RECIPIENT_TRACKSTATUS_TIME].GetDateTime();
Console.WriteLine($"Response time: {responseTime}\n");
}
- MapiRecipient: MapiMessage में एक प्राप्तकर्ता को दर्शाता है, जिससे व्यक्तिगत प्रतिक्रिया डेटा तक पहुँच संभव होती है।
- *PR_RECIPIENT_AUTORESPONSE_PROP_RESPONSE: एक प्रॉपर्टी टैग जो प्राप्तकर्ता की वोट प्रतिक्रिया को संग्रहीत करता है।
- PR_RECIPIENT_TRACKSTATUS_TIME: एक प्रॉपर्टी टैग जो प्राप्तकर्ता के प्रतिक्रिया समय को रिकॉर्ड करता है।
MSG से प्रतिक्रिया जानकारी प्राप्त करें
यह GetReactions विधि FollowUpManager क्लास आपको MAPI संदेश पर प्रतिक्रियाओं की सूची प्राप्त करने की सुविधा देती है, जिससे उपयोगकर्ता सहभागिता का विश्लेषण आसान हो जाता है। निम्नलिखित कोड नमूना दिखाता है कि कैसे निर्दिष्ट संदेश के लिए उपलब्ध प्रतिक्रियाएँ प्राप्त की जाएँ, जिससे उपयोगकर्ता इंटरैक्शन की समझ प्राप्त हो।
// Load the message file
var msg = MapiMessage.Load(fileName);
// Retrieve the list of reactions on the message
var reactions = FollowUpManager.GetReactions(msg);
// Iterate through each reaction and output the details to the console
foreach (var reaction in reactions)
{
Console.WriteLine($"User: {reaction.Name}, Email: {reaction.Email}, Reaction: {reaction.Type}, Date: {reaction.ReactionDateTime}");
}