آموزش ASP.Net به زبان ساده > آموزش مدل صفحات وب WP
درس شانزدهم : آشنایی با کمک دهنده ایمیل WebMail در ASP.Net Web Pages
مقدمه :
کمک دهنده کار با ایمیل و ارسال کننده آن ، یکی از پر کاربردترین و بهترین کمک دهنده
های ASP.Net می باشد . به وسیله این کمک دهنده ، می توانید به راحتی امکان لازم برای
ارسال ایمیل از سایت خود را برای کاربران فراهم کنید .
کمک دهنده ارسال ایمیل یا WebMail Helper از پروتکل استاندارد ارسال ایمیل یعنی STMP
استفاده می کند . برای آموزش نحوه استفاده از این کمک دهنده ، ابتدا یک صفحه ASP.Net
حاوی یک فرم برای دریافت پیام پشتیبانی از کاربر ایجاد می کنیم ( صفحه Support ) .
کاربر بایستی مشکل یا ایمیل خود را در این فرم وارد کرده و سپس فرم صفحه را به صفحه
دیگری که وظیفه ارسال ایمیل را بر عهده داشته و کمک دهنده درون آن قرار دارد ، ارسال
می کند . سپس کمک دهنده ارسال ایمیل ، پیام را از سایت برای ایمیل شما می فرستد .
مرحله اول - ویرایش صفحه AppStart_ برنامه :
اگر با مراحل ساخت یک سایت جدید ASP.Net در درس های قبل آشنا شده باشید ، در آنجا گفتیم
که سایت می تواند یک فایل به نام AppStart.cshtml_ در پوشه اصلی خود داشته باشد . این
فایل فایلی است که قبل از بالا آمدن و نمایش سایت توسط سرور اجرا شده و کدهای آن اولین
کدهایی هستند که در سایت اجرا می شوند . به صورت پیش فرض فایل AppStart.cshtml_ دارای
محتویات زیر است :
کد
|
@{
WebSecurity.Initiali zeDatabaseConnection("Users",
"UserProfile", "UserId", "Email", true);
}
|
اما برای استفاده از کمک دهنده ارسال ایمیل ، بایستی تغییراتی را در آن به شرح زیر
ایجاد کنیم . یه صورت زیر :
کد
|
@{
WebSecurity.InitializeDatabaseConnection("Users",
"UserProfile", "UserId", "Email", true);
WebMail.SmtpServer = "smtp.example.com";
WebMail.SmtpPort = 25;
WebMail.EnableSsl = false;
WebMail.UserName = "support@example.com";
WebMail.Password = "password-goes-here";
WebMail.From = "john@example.com";
}
|
تغییرات ایجاد شده در کد و خواص جدیدی که به آن اضافه کرده ایم ، عبارتند از :
- SmtpServer : این خاصیت نام سرور SMTP که برای ارسال ایمیل
استفاده خواهد شد را تعیین می کند .
- SmtpPort : این خاصیت نیز شما پورتی ( Port ) که برنامه برای
انجام تراکنش های ایمیل از آن استفاده می کند را تعیین خواهد کرد .
- EnableSsl : این خاصیت تعیین می کند که آیا برنامه از پروتکل
امنیتی SSL برای رمز نگاری داده ها استفاده می کند ( true ) یا خیر ( false ) .
- UserName : این خاصیت نام اکانت ایمیل SMTP ای که برای ارسال
ایمیل از آن استفاده می شود را تعیین می کند .
- Password : این خاصیت نیز رمز عبور لازم برای استفاده از اکانت
ایمیل مورد استفاده در پروتکل SMTP را تعیین می کند .
- From : این خاصیت نیز عنوان فرستنده نامه که معمولا نام سایت
یا آدرس ایمیل آن است را تعیین می کند .
مرحله دوم - طراحی صفحه لازم برای ارسال ایمیل توسط کاربر ( Input Page ) :
در مرحله دوم کد صفحه Support.cshtml را قرار داده ایم . در این صفحه یک فرم وجود دارد
که کاربر می تواند از طریق آن مشکل خود را عنوان کرده و سپس از طریق ایمیل به مدیر
سایت ارسال کند .
کد و خروجی این صفحه به صورت زیر است :
کد
|
<!DOCTYPE html>
<html>
<body>
<h3>درخواست
پشتیبانی</h3>
<form method="post"
action="EmailSend.cshtml">
<label>نام کاربری :</label>
<input type="text name="customerEmail" />
<label>مشکل :</label>
<textarea name="customerRequest" cols="45" rows="4"></textarea>
<p><input type="submit" value="ارسال درخواست" /></p>
</form>
</body>
</html>
|
خروجی
|
درخواست پشتیبانی
|
مرحله سوم - ایجاد صفحه ارسال ایمیل ( EmailSend.cshtml ) :
در مرحله آخر کد ، صفحه ای که قرار است مقادیر وارد شده توسط کاربر در صفحه Support.cshtml
را دریافت کرده و توسط کمک دهنده ارسال ایمیل بفرستد ، را قرار می دهیم .
کد این صفحه به صورت زیر است . به آن دقت نمایید . سپس به تشریح نکات کد خواهیم پرداخت
.
- در بخش ابتدایی صفحه ، کدی قرار دارد که مقادیر ارسالی از سوی صفحه Support.cshtml
را توسط متغیر [ Request ] دریافت کرده و به ترتیب در متغیرهای CustomerEmail و CustomerRequest
قرار می دهد .
- در بخش دوم کد نیز یک ساختار دستوری try ... catch قرار داده شده که در بخش try سعی
می کند توسط کمک دهنده ارسال ایمیل ، پیام کاربر را از طریق ایمیل ارسال کند .
اما اگر در ارسال ایمیل ، به هر دلیل ، اشکالی رخ دهد ، بخش catch اجرا شده و خطای
به وجود آمده را که در متغیر ex ذخیره شده ، بر روی صفحه نمایش می دهد .
- از تابع ( ) WebMail.Send که همان کمک دهنده ارسال ایمیل در ASP.Net است ، برای ارسال
ایمیل استفاده شده است . این تابع 3 پارامتر اصلی به شرح زیر دارد :
- بخش to : که تعیین می کند ایمیل به چه آدرسی ارسال شود .
- بخش Subject : که عنوان ایمیل را تعیین کرده و محتویات آن متغیر
CustomerEmail خواهد بود .
- بخش body : که پیام و متن ایمیل را تعیین کرده و محتویات آن
نیز متغیر CustomerRequest می باشد .
برای دریافت اطلاعات بیشتر به بخش مرجع ایمیل در ASP.Net بروید .
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1
حمایت نمایید :