شبیه سازی ارسال ایمیل در ASP.Net
اندازه‌ی قلم متن
تخمین مدت زمان مطالعه‌ی مطلب: یک دقیقه


فرض کنید مشغول به کار بر روی کامپیوتری هستید که دسترسی به هیچ شبکه‌ای ندارد و همچنین نیاز است تا قسمت اطلاع رسانی برنامه ASP.Net خود را که از طریق ایمیل کار می‌کند، تست کنید. برای مثال حداقل یکبار شکل و شمایل و محتوای ایمیل واقعی ارسالی آنرا در آوت لوک مشاهده کنید. برای حل این مساله چه باید کرد؟
برای تحقق این منظور باید کمی فایل web.config سایت را ویرایش کرد و سطرهای زیر را به آن افزود (پس از بسته شدن تگ system.web):

<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="c:\mail"/>
</smtp>
</mailSettings>
</system.net>

و همچنین در اینجا باید دقت داشت که هنگام کد نویسی دیگر نیازی به ذکر smtp server نخواهد بود و new SmtpClient().Send تنظیمات خودش را از فایل کانفیگ خواهد خواند.
اکنون با هر بار ارسال ایمیل، نتیجه حاصل (مطابق تصاویر زیر) در مسیر c:\mail ذخیره خواهد شد و فرمت حاصل با استفاده از outlook قابل مشاهده است.





شایان ذکر است که این روش با برنامه‌های غیر ASP.Net نیز کار می‌کند و تنها کافی است یک فایل app.config‌ به برنامه اضافه کرده و تنظیمات فوق را به آن اعمال نمائید.

  • #
    ‫۱۵ سال و ۱۱ ماه قبل، دوشنبه ۴ آذر ۱۳۸۷، ساعت ۲۲:۴۶
    نکته جالب بود.
    بسیار ممنون
  • #
    ‫۳ سال و ۱۱ ماه قبل، دوشنبه ۳۱ شهریور ۱۳۹۹، ساعت ۰۰:۰۴
    جهت تکمیل مطلب:
    خطوط زیر را نیز میتوان به جای فایل config نیز مورد استفاده قرار داد:
    smtpServer.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
    smtpServer.PickupDirectoryLocation = "c:\\mail";