مدیریت یادداشت‌های چسبان Outlook در C#

یادداشت‌های چسبان Outlook به کاربران یک روش راحت برای ایجاد یادآوری‌های سریع و قابل دسترسی در صندوق پستی خود ارائه می‌دهند. این یادآوری‌ها در فایل‌های PST ذخیره می‌شوند و در کنار ایمیل‌ها، مخاطبین، رویدادهای تقویم و سایر اقلام Outlook مدیریت می‌شوند. برای توسعه‌دهندگانی که به‌طور برنامه‌نویسی با داده‌های Microsoft Outlook کار می‌کنند، دسترسی، ایجاد یا مدیریت یادآوری‌های چسبان می‌تواند برای اتوماسیون گردش کار یا ساخت برنامه‌هایی که بهره‌وری را افزایش می‌دهند، ضروری باشد.

در این مقاله، ما به بررسی نحوه کار با یادداشت‌های چسبان Outlook در C# با استفاده از کتابخانه .NET خواهیم پرداخت. این راهنما به بارگذاری و دسترسی به یادآوری‌ها در فایل‌های PST، بازیابی محتوا، ایجاد یادداشت‌های جدید و حتی مدیریت آن‌ها در یک سرور Exchange می‌پردازد. با استفاده از این قابلیت‌ها، توسعه‌دهندگان می‌توانند به‌طور برنامه‌نویسی یادآوری‌های چسبان را مدیریت کنند و ادغام‌ها، پشتیبان‌گیری‌ها یا راه‌حل‌های مدیریت سفارشی را تسهیل کنند.

کتابخانه C# برای کار با یادداشت‌های چسبان Outlook

برای ایجاد و مدیریت یادداشت‌های چسبان Outlook در C#، ما از کتابخانه Aspose.Email برای .NET استفاده خواهیم کرد که APIهای قدرتمندی برای مدیریت ویژگی‌های مختلف مرتبط با ایمیل و پیام‌رسانی، از جمله یادداشت‌های چسبان ارائه می‌دهد. این کتابخانه از افزودن، خواندن، به‌روزرسانی و حذف آن‌ها در فایل‌های PST پشتیبانی می‌کند و برای کار با داده‌های Outlook ایده‌آل است.

نصب

شما می‌توانید Aspose.Email برای .NET را از طریق مدیر بسته NuGet در Visual Studio یا با استفاده از کنسول مدیر بسته NuGet نصب کنید. در اینجا هر دو روش آورده شده است:

  • استفاده از مدیر بسته NuGet در Visual Studio:
  1. پروژه خود را در Visual Studio باز کنید.
  2. به ابزارها > مدیر بسته NuGet > مدیریت بسته‌های NuGet برای راه‌حل بروید.
  3. در برگه مرور، برای Aspose.Email جستجو کنید.
  4. بسته Aspose.Email را انتخاب کرده و روی نصب کلیک کنید.
  • استفاده از کنسول مدیر بسته NuGet:
  1. کنسول مدیر بسته را در Visual Studio با رفتن به ابزارها > مدیر بسته NuGet > کنسول مدیر بسته باز کنید.
  2. فرمان زیر را برای نصب Aspose.Email برای .NET اجرا کنید:

Install-Package Aspose.Email

به‌طور جایگزین، می‌توانید آخرین نسخه API را به‌طور مستقیم از وب‌سایت Aspose دانلود کنید.

پس از نصب کتابخانه، شما آماده‌اید تا با یادداشت‌های چسبان Outlook در پروژه C# خود کار کنید. API Aspose.Email تعامل با داده‌های Outlook را آسان می‌سازد و اطمینان می‌دهد که می‌توانید به‌طور کارآمد آن را در برنامه‌های .NET خود مدیریت کنید.

ایجاد یک یادداشت چسبان جدید

کلاس MapiNote در .NET به شما امکان می‌دهد تا یادداشت‌های چسبان جدید با ویژگی‌های قابل تنظیم، مانند رنگ، موضوع و متن ایجاد کنید. پس از پیکربندی، یک یادداشت می‌تواند به‌عنوان یک فایل مستقل .msg برای استفاده بیشتر در Outlook یا سایر برنامه‌های سازگار ذخیره شود.

مثال زیر ایجاد یک یادداشت چسبان جدید و ذخیره آن در یک فایل .msg را نشان می‌دهد:

  1. یک شی MapiNote ایجاد کنید و ویژگی‌های آن را، از جمله Color، Subject و Body، تنظیم کنید تا ظاهر و محتوای یادداشت را تعریف کنید.
  2. از روش Save استفاده کنید و نام و فرمت فایل (NoteSaveFormat.Msg) را مشخص کنید تا یادداشت را به‌عنوان یک فایل مستقل .msg ذخیره کنید.
// Create a new MapiNote
var newNote = new MapiNote
{
Color = NoteColor.Yellow,
Subject = "Meeting Reminder",
Body = "Remember to review the quarterly report before the meeting."
};
// Save the note as an .msg file
newNote.Save("MeetingReminderNote.msg", NoteSaveFormat.Msg);

با این روش، می‌توانید به‌راحتی یادداشت‌های چسبان را به‌عنوان فایل‌های .msg ایجاد و توزیع کنید و راهی انعطاف‌پذیر برای مدیریت آن‌ها خارج از یک فایل PST فراهم کنید.

اضافه کردن یک یادداشت چسبان جدید به PST

برای اضافه کردن یک یادداشت چسبان جدید به یک فایل PST، می‌توانید یک شی MapiNote ایجاد کرده و آن را در پوشه “یادداشت‌ها"ی PST ذخیره کنید. این فرآیند شامل بارگذاری فایل PST، دسترسی به پوشه مناسب، ایجاد یک یادآوری و سپس افزودن آن به پوشه است. در زیر یک راهنمای گام به گام همراه با یک مثال کد آورده شده است که نشان می‌دهد چگونه این کار را انجام دهید:

  1. فایل PST را با استفاده از روش PersonalStorage.FromFile بارگذاری کنید.
  2. به پوشه “یادداشت‌ها” در PST دسترسی پیدا کنید.
  3. یک نمونه جدید از کلاس MapiNote با ویژگی‌های دلخواه مانند رنگ، موضوع و متن ایجاد کنید.
  4. از روش AddMapiMessageItem برای اضافه کردن یادداشت چسبان به پوشه استفاده کنید.
// Load the PST file
using (var pst = PersonalStorage.FromFile(pstFilePath));
// Access the Notes folder
var notesFolder = pst.RootFolder.GetSubFolder("Notes");
if (notesFolder != null)
{
// Create a new MapiNote
var newNote = new MapiNote
{
Color = NoteColor.Yellow, // Set the desired note color
Subject = "Meeting Reminder", // Set the subject
Body = "Don't forget the meeting at 10 AM." // Set the note body
};
// Add the sticky note to the Notes folder
notesFolder.AddMapiMessageItem(newNote);
}

بازیابی یادداشت‌های چسبان Outlook از یک فایل PST

برای بازیابی یادداشت‌های چسبان از یک فایل PST، شما باید به پوشه یادداشت‌ها دسترسی پیدا کرده و از طریق محتوای آن پیمایش کنید. مثال زیر نشان می‌دهد که چگونه یک فایل PST را بارگذاری کرده، به پوشه هدف دسترسی پیدا کرده و یادداشت‌ها را درون آن بازیابی کنید:

  1. فایل PST مشخص‌شده را با استفاده از روش PersonalStorage.FromFile بارگذاری کنید.
  2. از GetSubFolder(“Notes”) برای بازیابی پوشه یادداشت‌ها از پوشه ریشه PST استفاده کنید.
  3. از روش EnumerateMapiMessages در پوشه برای بازگرداندن تمام پیام‌های MAPI استفاده کنید. کد این پیام‌ها را فیلتر می‌کند تا فقط شامل اشیاء MapiNote شود.
  4. جزئیات هر یادداشت بازیابی شده را شامل موضوع، رنگ، ارتفاع، عرض و متن آن نمایش داده و به کنسول چاپ کنید.
// Load the PST file
using (var pst = PersonalStorage.FromFile("YourPSTFile.pst"));
// Access the Notes folder
var notesFolder = pst.RootFolder.GetSubFolder("Notes");
if (notesFolder != null)
{
// Iterate through items in the Notes folder
foreach (var note in notesFolder.EnumerateMapiMessages().OfType<MapiNote>())
{
// Process the sticky note details
Console.WriteLine("Note Subject: " + note.Subject);
Console.WriteLine("Note Color: " + note.Color);
Console.WriteLine("Note Height: " + note.Height);
Console.WriteLine("Note Width: " + note.Width);
Console.WriteLine("Note Body: " + note.Body);
Console.WriteLine();
}
}

چگونه یک یادداشت Outlook جدید در سرور Exchange ایجاد کنیم

برای ایجاد یک یادداشت چسبان جدید در سرور Exchange، می‌توانید از EWSClient برای تعامل با صندوق پستی سرور استفاده کنید. این فرآیند شامل برقراری ارتباط با سرور Exchange، ایجاد یک شی جدید MapiNote و سپس ذخیره آن در پوشه یادداشت‌ها است. در زیر یک راهنمای گام به گام همراه با یک مثال کد آورده شده است:

  1. ابتدا باید یک ارتباط با سرور Exchange با استفاده از کلاس EWSClient برقرار کنید. این نیاز به URL سرور و اعتبارنامه‌های مناسب احراز هویت دارد.
  2. یک نمونه جدید از MapiNote ایجاد کرده و ویژگی‌های آن، مانند رنگ، موضوع و متن، را تنظیم کنید.
  3. از روش CreateItem در EWSClient برای ذخیره یادداشت جدید در پوشه مشخص شده صندوق پستی Exchange استفاده کنید.

اینجا یک مثال کد وجود دارد که نشان می‌دهد چگونه یک یادداشت چسبان جدید را در سرور Exchange ایجاد و ذخیره کنید:

// Replace these with your actual credentials and server information
string userName = "your_email@example.com";
string accessToken = "your_access_token"; // OAuth access token
// Create new note instance
var newNote = new MapiNote
{
Color = NoteColor.Yellow,
Subject = "Meeting Reminder",
Body = "Don't forget about the meeting tomorrow at 10 AM."
};
// Set up the EWS client
using var client = EWSClient.GetEWSClient("https://outlook.office365.com/EWS/Exchange.asmx",
new OAuthNetworkCredential(userName, accessToken));
// Create the note on the Exchange Server
client.CreateItem(client.MailboxInfo.NotesUri, newNote);

با دنبال کردن این فرآیند، می‌توانید یادداشت‌های چسبان را به‌طور مستقیم در سرور Exchange ایجاد کنید.

بازیابی یادداشت‌ها از یک سرور Exchange

این فرآیند شامل احراز هویت در سرور Exchange، فهرست کردن یادداشت‌های موجود و سپس بازیابی جزئیات هر یادداشت است. در اینجا نحوه انجام این کار آورده شده است:

  1. ابتدا باید یک نمونه از EWSClient با استفاده از اعتبارنامه‌های سرور Exchange خود ایجاد کنید.
  2. از روش ListMessages برای به‌دست آوردن فهرستی از پیام‌ها در پوشه یادداشت‌ها استفاده کنید.
  3. برای هر یادداشت، از روش FetchMapiNotes برای بازیابی جزئیات آن استفاده کنید.

در اینجا یک مثال کد وجود دارد که این مراحل را نشان می‌دهد:

// Define the credentials and EWS endpoint
string userName = "your-email@example.com";
string accessToken = "your-access-token";
// Create an instance of the EWS client
using var client = EWSClient.GetEWSClient("https://outlook.office365.com/EWS/Exchange.asmx", new OAuthNetworkCredential(userName, accessToken));
// List all notes in the Notes folder
var messageInfos = client.ListMessages(client.MailboxInfo.NotesUri);
// Fetch the MAPI notes using the unique URIs of the listed messages
var notes = client.FetchMapiNotes(messageInfos.Select(info => info.UniqueUri));
// Process and display each fetched note
foreach (var note in notes)
{
Console.WriteLine("Note Subject: " + note.Subject);
Console.WriteLine("Note Color: " + note.Color);
Console.WriteLine("Note Body: " + note.Body);
}

ایمیل your-email@example.com و your-access-token را با ایمیل واقعی Exchange و توکن دسترسی OAuth خود جایگزین کنید.

این روش به شما امکان می‌دهد تا به‌طور کارآمد یادداشت‌های چسبان ذخیره شده در یک سرور Exchange را مدیریت و دسترسی پیدا کنید.

نتیجه‌گیری

مدیریت یادداشت‌های چسبان Outlook با استفاده از C# .NET روشی برای سازماندهی و بازیابی اطلاعات ضروری در یک محیط کار فراهم می‌کند. با بهره‌گیری از قابلیت‌های پروتکل MAPI، توسعه‌دهندگان می‌توانند یادداشت‌های چسبان را ایجاد، بخوانند و به‌روزرسانی کنند، چه به‌طور محلی در فایل‌های PST ذخیره شده باشند و چه در یک سرور Exchange.

با استفاده از روش‌های outlined شده، کاربران می‌توانند با مدیریت برنامه‌نویسی داده‌های خود، بهره‌وری را افزایش دهند و امکان ادغام بهتر با سایر برنامه‌ها و گردش‌های کاری را فراهم کنند. چه در حال ایجاد یادداشت‌های جدید برای یادآوری‌های سریع باشید و چه در حال بازیابی یادداشت‌های موجود برای مرجع، ابزارهای ارائه شده به مدیریت مؤثر اطلاعات کمک می‌کند.

منابع رایگان

علاوه بر API ایمیل پیشرفته C#، این کتابخانه همچنین تعدادی منبع رایگان ارائه می‌دهد:

ارزیابی Aspose.Email

شما می‌توانید تمام ویژگی‌های Aspose.Email را به‌صورت رایگان با نسخه ارزیابی آن امتحان کنید.

دریافت مجوز موقت

اگر می‌خواهید Aspose.Email را بدون محدودیت‌های نسخه ارزیابی آزمایش کنید، می‌توانید همچنین درخواست یک مجوز موقت 30 روزه کنید. این نسخه آزمایشی به شما ایده خوبی از قابلیت‌های سرویس خواهد داد و به شما اجازه می‌دهد تا برخی از توسعه‌های اولیه را انجام دهید.

همچنین ببینید