
- دستهبندیهای ویژگیهای MAPI
- فهرست کردن همه ویژگیهای MAPI
- فهرست کردن ویژگیهای نامگذاریشده MAPI
- بازیابی ویژگیها با استفاده از توصیفگر
- بازیابی ویژگیها با استفاده از برچسب
- استفاده از متد GetProperty
- کار با ویژگیهای سفارشی
مدیریت دادههای ایمیل بهصورت برنامهنویسی میتواند پیچیده باشد، بهویژه هنگامی که با ویژگیهای رابط برنامهنویسی کاربردی پیامرسان (MAPI) درگیر هستید. این ویژگیها، ویژگیها یا متادادههای مرتبط با اشیاء MAPI مانند پیامها، پوشهها، گیرندگان و سایر مؤلفهها در یک سیستم پیامرسان هستند. این ویژگیها اطلاعات دقیقی دربارهی شیء ارائه میدهند، مانند موضوع یک ایمیل، آدرس فرستنده، تاریخ ارسال ایمیل و بیشتر. ویژگیهای MAPI بهطور گستردهای در کلاینتهای ایمیل و سایر برنامههای پیامرسان برای مدیریت و دستکاری دادههای ایمیل استفاده میشوند. این مقاله به بررسی تکنیکهای مختلف برای دسترسی، فهرستبندی و دستکاری ویژگیهای MAPI با استفاده از Aspose.Email برای .NET میپردازد.
API .NET برای مدیریت ویژگیهای MAPI در C#
Aspose.Email برای .NET پشتیبانی جامع برای مدیریت ویژگیهای رابط برنامهنویسی کاربردی پیامرسان فراهم میکند و به توسعهدهندگان اجازه میدهد تا دادههای ایمیل را با کنترل دقیق مدیریت و دستکاری کنند. این یک API وسیع است که به توسعهدهندگان این امکان را میدهد که برنامههای ایمیل خود را با ویژگیهای قوی برای پردازش پیام و سایر وظایف مرتبط تجهیز کنند.
با استفاده از Aspose.Email برای .NET، توسعهدهندگان میتوانند راهحلهای پیچیدهای برای مدیریت و پردازش ایمیل ایجاد کنند. برای شروع استفاده از این کتابخانه، میتوانید آن را از وبسایت Aspose دانلود کنید یا از NuGet دریافت کرده و در پروژهی خود یکپارچهسازی کنید.
دستهبندیهای ویژگیهای MAPI
اطمینان حاصل کنید که Aspose.Email را در پروژهی خود دارید و بیایید شروع کنیم. ویژگیهای MAPI را میتوان به سه نوع اصلی تقسیم کرد: ویژگیهای استاندارد، ویژگیهای نامگذاریشده و ویژگیهای سفارشی (تعریفشده توسط کاربر). هر دسته هدف متفاوتی دارد و سطوح مختلفی از انعطافپذیری و کنترل را برای توسعهدهندگان در کار با دادههای ایمیل فراهم میکند. در اینجا یک نمای کلی از هر نوع آورده شده است:
ویژگیهای استاندارد
تعریف شده توسط مشخصات MAPI، آنها دارای برچسبهای ویژگی از پیش تعریفشده هستند و بهطور معمول برای ویژگیهای استاندارد اشیاء پیامرسان استفاده میشوند. بهعنوان مثال:
- PR_SUBJECT: موضوع پیام.
- PR_SENDER_NAME: نام فرستنده.
- PR_DELIVER_TIME: تاریخ و زمان ارسال پیام اصلی.
ویژگیهای نامگذاریشده
با یک GUID و یک نام رشتهای یا یک شناسه عددی شناسایی میشوند، این ویژگیها اجازه میدهند که دستهبندی و شناسایی دقیقتری فراتر از ویژگیهای استاندارد انجام شود.
ویژگیهای سفارشی (تعریفشده توسط کاربر)
تعریف شده توسط توسعهدهندگان، آنها قابلیتهای اشیاء MAPI را گسترش میدهند و به مدیریت دادههای سفارشی و خاص برنامه اجازه میدهند.
فهرست کردن همه ویژگیهای MAPI
برای فهرست کردن همه ویژگیهای MAPI در یک پیام، ما از متد MapiMessage.Load استفاده خواهیم کرد تا پیام را بارگذاری کرده و بر روی ویژگیهای آن تکرار کنیم. نمونه کد زیر نشان میدهد که چگونه یک پیام MAPI را بارگذاری کرده، بر روی ویژگیهای آن تکرار کرده و اطلاعات دقیقی دربارهی هر ویژگی را با استفاده از Aspose.Email برای .NET چاپ کنیم:
- فایل پیام MAPI را از مسیر مشخص شده بارگذاری کنید.
- بر روی مجموعه
msg.Properties.Values
برای دسترسی به هر ویژگی تکرار کنید. - برای هر ویژگی MAPI، برچسب، نام کانونی و نوع داده را چاپ کنید:
- برچسب خاصیت شناسهی منحصر به فرد برای ویژگی MAPI را فراهم میکند.
- Descriptor.CanonicalName خاصیت نام قابل خواندن برای انسان از این ویژگی را میدهد.
- Descriptor.DataType خاصیت نوع دادهی این ویژگی را نشان میدهد.
فهرست کردن ویژگیهای نامگذاریشده MAPI
در حالی که ویژگیهای معمولی MAPI با یک برچسب ویژگی 16 بیتی که شامل نوع ویژگی و شناسه ویژگی است شناسایی میشوند، ویژگیهای نامگذاریشده با ترکیبی از یک GUID و یا یک نام رشتهای یا یک شناسه عددی شناسایی میشوند:
- GUID (شناسهی منحصر به فرد جهانی): یک شناسایی منحصر به فرد که اطمینان میدهد مجموعهی ویژگیها منحصر به فرد است. این GUID معمولاً توسط توسعهدهنده ارائه میشود.
- نام یا شناسه:
- یک نام رشتهای (حساس به حروف بزرگ و کوچک).
- یک شناسه عددی 32 بیتی.
نمونه کد زیر نشان میدهد که چگونه از Aspose.Email برای .NET برای تکرار بر روی ویژگیهای نامگذاریشده MAPI یک پیام و چاپ اطلاعات دقیق بر اساس نوع توصیفگر ویژگی استفاده کنیم:
- با دسترسی به مجموعه ‘NamedProperties.Values’ از شیء MapiMessage بارگذاری شده، بر روی هر ویژگی نامگذاریشده تکرار کنید تا همه ویژگیهای نامگذاریشده MAPI را بهدست آورید.
- بررسی کنید که آیا توصیفگر ویژگی نامگذاریشدهی فعلی از نوع PidNamePropertyDescriptor است. اگر چنین است، توصیفگر را به PidNamePropertyDescriptor تبدیل کنید. GUID، نام کانونی و نوع دادهی ویژگی را چاپ کنید.
- بررسی کنید که آیا توصیفگر ویژگی نامگذاریشدهی فعلی از نوع PidLidPropertyDescriptor است. اگر چنین است، توصیفگر را به PidLidPropertyDescriptor تبدیل کنید. GUID، نام کانونی، شناسهی طولانی و نوع دادهی ویژگی را چاپ کنید.
بنابراین، ما صفات خاصی مانند PropertySet
، CanonicalName
، DataType
و LongId
را بسته به نوع توصیفگر (PidNamePropertyDescriptor
یا PidLidPropertyDescriptor
) چاپ کردهایم.
بازیابی ویژگیها با استفاده از توصیفگر
بازیابی ویژگیها با استفاده از توصیفگر یک روش ساده برای دسترسی به ویژگیهای خاص MAPI بدون نیاز به تکرار در کل مجموعهی ویژگیها است. Aspose.Email برای .NET یک روش مناسب برای بازیابی ویژگیها با استفاده از KnownPropertyList فراهم میکند. نمونه کد زیر نشان میدهد که چگونه یک ویژگی خاص، مانند InternetMessageId را بازیابی و جزئیات آن را چاپ کنیم، اگر وجود داشته باشد.
- به ویژگی InternetMessageId از مجموعهی Properties شیء MapiMessage با استفاده از KnownPropertyList دسترسی پیدا کنید.
- بررسی کنید که آیا ویژگی نال نیست تا از وجود آن در پیام اطمینان حاصل شود.
- جزئیات ویژگی بازیابیشده را چاپ کنید: برچسب، نام کانونی و نوع داده.
- اگر نوع دادهی ویژگی یک رشته باشد، از متد GetString برای بازیابی مقدار ویژگی و چاپ آن استفاده کنید.
بازیابی ویژگیها با استفاده از برچسب
یک برچسب ویژگی یک شناسایی 32 بیتی است که بهطور منحصر به فرد یک ویژگی MAPI را شناسایی میکند. این شامل یک شناسه ویژگی و یک نوع ویژگی است. با استفاده از برچسبهای ویژگی، میتوانید بهطور مستقیم به ویژگیهای خاصی در یک پیام MAPI دسترسی پیدا کنید. نمونه کد زیر نشان میدهد که چگونه جزئیات یک ویژگی خاص، مانند PR_HASATTACH را بازیابی و چاپ کنیم، اگر وجود داشته باشد.
- از MapiPropertyTag برای دسترسی مستقیم به ویژگی PR_HASATTACH از مجموعهی Properties شیء MapiMessage استفاده کنید.
- بررسی کنید که آیا ویژگی نال نیست تا از وجود آن در پیام اطمینان حاصل شود.
- جزئیات ویژگی بازیابیشده را چاپ کنید: برچسب و نوع داده.
- اگر نوع دادهی ویژگی بولی باشد، از متد GetBoolean برای بازیابی مقدار ویژگی و چاپ اینکه آیا پیام ضمیمههایی دارد یا خیر، استفاده کنید.
استفاده از متد GetProperty
متد GetProperty فرآیند بازیابی ویژگیهای معمولی و نامگذاریشده از یک پیام MAPI را ساده میکند. این متد به شما اجازه میدهد تا بهطور مستقیم به یک ویژگی با توصیفگر یا برچسب آن دسترسی پیدا کنید بدون اینکه بهصورت دستی مجموعهی ویژگیها را بررسی کنید. نمونه کد زیر نشان میدهد که چگونه از متد GetProperty برای دسترسی به ویژگیهای خاص MAPI استفاده کنیم:
- از متد GetProperty برای دسترسی مستقیم به ویژگی CurrentVersionName از کلاس KnownPropertyList استفاده کنید.
- بررسی کنید که آیا ویژگی نال نیست تا از وجود آن در پیام اطمینان حاصل شود.
- از متد GetString برای بازیابی مقدار ویژگی و چاپ آن استفاده کنید.
در اینجا، GetProperty
برای دسترسی به ویژگی CurrentVersionName
بهطور مستقیم استفاده میشود.
کار با ویژگیهای سفارشی
ویژگیهای سفارشی MAPI ویژگیهای اضافی هستند که بخشی از مجموعهی از پیش تعریفشدهی ویژگیهای MAPI نیستند. آنها برای نگهداری دادههای خاص برنامه ایجاد میشوند و توسط توسعهدهنده تعریف میشوند. با اجازه دادن به توسعهدهندگان برای تعریف و استفاده از ویژگیهای اضافی، MAPI یک راه انعطافپذیر و قدرتمند برای ذخیره و مدیریت دادههای سفارشی در برنامههای پیامرسان فراهم میکند. ویژگیهای سفارشی ویژگیهای نامگذاریشده هستند (استفاده از یک GUID و نام رشتهای). Aspose.Email یک رویکرد را معرفی میکند که میتوانید برای بازیابی همه ویژگیهای سفارشی تعریفشده در پیام استفاده کنید. این با استفاده از متد GetCustomProperties بهدست میآید. نمونه کد زیر نشان میدهد که چگونه همه ویژگیهای سفارشی تعریفشده در یک پیام MAPI را بازیابی و چاپ کنیم:
- از متد GetCustomProperties برای بهدست آوردن مجموعهای از همه ویژگیهای سفارشی تعریفشده در پیام استفاده کنید.
- بر روی هر ویژگی سفارشی در مجموعهی بازیابیشده تکرار کنید.
- جزئیات ویژگی را چاپ کنید: برچسب، نام کانونی و نوع داده.
نتیجهگیری
این مقاله به بررسی تکنیکهای مختلف برای دسترسی، فهرستبندی و دستکاری ویژگیهای MAPI با استفاده از Aspose.Email برای .NET پرداخته است. Aspose.Email پشتیبانی جامع برای مدیریت این ویژگیها ارائه میدهد و به توسعهدهندگان اجازه میدهد تا دادههای ایمیل را با کنترل دقیق مدیریت و دستکاری کنند. با استفاده از این کتابخانه، توسعهدهندگان میتوانند راهحلهای پیچیدهای برای مدیریت و پردازش ایمیل ایجاد کنند و کار با ویژگیهای استاندارد، نامگذاریشده و سفارشی را آسانتر کنند.
علاوه بر این، Aspose.Email مستندات جامع مستندات، یک مرجع API وسیع و مجموعهای از ابزارها و برنامههای آنلاین رایگان برای بهبود فرآیند توسعه شما ارائه میدهد. توسعهدهندگان همچنین میتوانند به یک forum پشتیبانی رایگان برای کمک و بینشهای جامعه دسترسی پیدا کنند و با آخرین نکات و آموزشها از طریق وبلاگ Aspose بهروز بمانند. این منابع برای حداکثر کردن پتانسیل کتابخانه در پروژههای شما بسیار ارزشمند است.