کلا در مورد ارسال ایمیل یک سری مطالب را میگم که اگر به همین شکل پیش بری میتونی هرچی بخوای درست کنی .
اولین چیز اینه که اکثرا سرور های فعلی در جهان برای اینکه هر کسی نتونه از Mail Server آنها استفاده کنه آمدند و در هر بار که یک درخواست ارسال ایمیل به آن ارسال میشه (یا از طریق یک برنامه یا نه یک شخصی داره ایمیل ارسال می کنه) چک می کنند که آیا آن موجود درخواست دهنده Authenticate شده یا نه . یعنی قبلا از اینکه یک ایمیل ارسال کنی باید وارد Login کنی . خوب تو دات نت یک و یک همچین چیزی به طور مشخص نیست . یعنی جائی وجود ندارد که شما بگی من ایمیل سرورم mail.persiantools.com هست و کلمه کاربری من
[email protected] و رمز عبور من مثلا 1234 هست و تو رو خدا من رو لوگین کن که بتونم ایمیل ارسال کنم . این کار را با استفاده از اضافه کردن یک سری header به کلاس ایمیل دات نت انجام میدهند. حالا این ایمیل ها چی هستند و از کجا باید بیارم تمامش تو سايت مایکرو سافت هست . اما بعد از این داستان شما میخوای که یک ایمیل فارسی ارسال کنی ، مشکل هم در مورد Encoding هست . یک دوستی اومده و یک کامپوننت نوشته که میتونه ایمیل ارسال کنه اونم فارسی و در همیه Mail Box ها هم بدون تغییر در Encoding صفحه نمایش داده میشه . سیستم کاریش اینجوریه که میاد برای تمام کاراکترهای فارسی کد Unicode معادل رو تولید میکنه و خوب مشخصه که همه چیز درست میشه . اسم این کامپوننت IrMail می باشد .
علاوه بر حل کردن مشکل فارسی سازی این کامپوننت چند تا کار خوب دیگه هم میکنه . اولیش اینه که شما میتونید از طریق سه تا Property در این کلاس مقدار های Mail Server & Username & Password برای ارسال ایمیل را ست کنی . یک خوبی دیگه هم داره اگه به هر دلیلی این کامپوننت نتونه ایمیل رو ارسال کنه یعنی گیرنده ایمیل رو نگیره باز از طریق خروجی این را اعلام میکنه (برای ارسال ایمیل از طریق این کاپوننت یک متد Send وجود داره که پارامتر های مثل تابع معادل داره و خروجی آن مقداری Boolean می باشد که مشخص میکنه ایمیل رفته یا نه) . بعد یک خوبی دیگه هم داره میتونی تعریف کنی که اگر یک ایمیلی نرفت خودش اطلاعات در یک فايل xml ذخیره بکنه و بعدا اتوماتیک این ایمیل ها ارسال بشه .
خوب پس این کامپوننت کار شما را راحت میکنه . من باهاش یک سال و نیم که دارم کار میکنم و خیلی خوب هست و هیج باگی هم نداره . کافیه که شما کد html را درست کنی (این که خیلی ساده است .
) بعد فرستنده و گیرنده و عنوان و متن را به تابع بدی و خلاص ایمیل ارسال میشه . .... فقط یک چیزی آن عکس یا هر عکسی که میگی باید آدرسش رو فیزیکی کنی در هنگام ارسال ایمیل . دلیلش هم کاملا مشخصه مثلا اگه شما در داخل کد html تون یک تک به صورت <"img src="images/test.gif> داشته باشی باید به <"img src="http://www.test.com/images/test.gif> تبدیل بشه که در اینجا test.com همون سايت شماست . البته میشه عکس را به ایمیل Attach کنی و آدرس عکس را تغییر بدی . من بهت توصیه میکنم از روش اول استفاده کنی چون ایمیلت کم حجم تر میشه . ...
این هم از این .
در مورد Mail Server , Username , Password هم برای لاگین شدن میل سرور که معمولا mail.test.com می باشد (سايت شما test.com می باشد) بعد Username , Password هم که اطلاعات یک اکانت ایمیل می باشد که باید درست کنی .
اما یک چیز جالب برات دارم . گفتم من تا دلت بخوات از این کار ها کردم و خلاصه پوست کلفت شدم . برای تست سیستمت هم لازم نیست که سايت رو آپلود کنی و وصل شی اینترنت و هی میل بزنی ببنی همه چیز درسته یا نه ...
یک کار بهتر هم هست اینکه یک Mail Server رو کامپیوترت مثل من راه بندازی و همه چیز رو روی آن تست کنی . حوصله داشته باش عزیز . من یک نسخه قدیمی Mdeamon دارم که خیلی خوبه برات آپلود میکنم . آن را نصب کن . تو نصبش هم بی خیال همه چیز شو و فقط next بزن و برو جلو . فقط تو یک جا ازت یک Username و Password به عنوان ایمیل میخواد که اون رو بده و تموم که شد . یک فايل کرک هم هست که باید زحمت بکشی و آن را هم وارد کنی تا مشکل Licence هم حل بشه . بعد از نصب تو Browser بزن
http://localhost:3000 میبنی که چی صفحه لاگین Mdeamon که مشکی رتگه باز میشه حالا تو برای خودت یک میل سرور داری که باهاش میتونی ایمیل هی بر خودت ارسال کنی از طریق برنامه و چک کنی که همه چیز درسته یا نه ....
خوب حالا تو اون کامپوننت برای تست آدرس میل سرور را 127.0.0.1 بزن به جای Username هم آدرس ایمیل ادمین که در هنگام نصب دادی (کامل وارد کن با @ و بقیش) پسورد رو هم بده . گیرنده ایمیل رو هم که باید همین Username بزاری تا بتونی سیستم رو چک کنی . البته Account میشه تعریف کرد که من دیگه بی خیال میشم . ...:blink:
البته برای اینکه اصلا چک کنی که همه چیز درسته یا نه بعد از لاگین کردن در اون صفحه مشکیه به خودت یک ایمیل بزن ببین ایمیل میاد یا نه . اگه ارور داد که نمی تونم ایمیل ارسال کنم بگو تا مشکلت را حل کنم ...
راستی برای دانلود این کامپوننت IrMail و همچنین 2 تا مقاله خیلی خوب فارسی برو تو سايت IranASP.net ..
راستی یک چیزی بگم که تموم بشه اگه Zone Alarm داری باید قبل از نصب آن را Disable کنی و کلا باید Remove کنی من که با وجود Zone Alarm نتونستم ایمیل ارسال کنم .