۱۳۸۷/۰۹/۰۴

شبيه سازي ارسال ايميل در 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‌ به برنامه اضافه كرده و تنظيمات فوق را به آن اعمال نمائيد.