آموزش 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 را دریافت کرده و توسط کمک دهنده ارسال ایمیل بفرستد ، را قرار می دهیم .
کد این صفحه به صورت زیر است . به آن دقت نمایید . سپس به تشریح نکات کد خواهیم پرداخت .

کد @{
         // Read input
         var customerEmail = Request["customerEmail"];
         var customerRequest = Request["customerRequest"];

         try
            {
               // Send email
                    WebMail.Send(to:" someone@example.com ", subject: "Help request from - " + customerEmail, body: customerRequest );
            }
         catch ( Exception ex )
            {
                  <text>@ex</text>
            }

   }
  • در بخش ابتدایی صفحه ، کدی قرار دارد که مقادیر ارسالی از سوی صفحه Support.cshtml را توسط متغیر [ Request ] دریافت کرده و به ترتیب در متغیرهای CustomerEmail و CustomerRequest قرار می دهد .
  • در بخش دوم کد نیز یک ساختار دستوری try ... catch قرار داده شده که در بخش try سعی می کند توسط کمک دهنده ارسال ایمیل ، پیام کاربر را از طریق ایمیل ارسال کند .
    اما اگر در ارسال ایمیل ، به هر دلیل ، اشکالی رخ دهد ، بخش catch اجرا شده و خطای به وجود آمده را که در متغیر ex ذخیره شده ، بر روی صفحه نمایش می دهد .
  • از تابع ( ) WebMail.Send که همان کمک دهنده ارسال ایمیل در ASP.Net است ، برای ارسال ایمیل استفاده شده است . این تابع 3 پارامتر اصلی به شرح زیر دارد :
    1. بخش to : که تعیین می کند ایمیل به چه آدرسی ارسال شود .
    2. بخش Subject : که عنوان ایمیل را تعیین کرده و محتویات آن متغیر CustomerEmail خواهد بود .
    3. بخش body : که پیام و متن ایمیل را تعیین کرده و محتویات آن نیز متغیر CustomerRequest  می باشد .

برای دریافت اطلاعات بیشتر به بخش مرجع ایمیل در ASP.Net بروید .



راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1 حمایت نمایید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :  
 
سوال امنیتی : پایتخت ایران ؟      
حمایت از سایت Developer1