ارسال ایمیل در ASP.NET با استفاده از HTML Template
نمایش نتایج: از شماره 1 تا 2 , از مجموع 2

موضوع: ارسال ایمیل در ASP.NET با استفاده از HTML Template

  1. *Mohammad* آواتار ها
    *Mohammad*
    مدیر سابق
    May 2011
    63,336
    22,637
    تشکر شده : 91,444

    پیش فرض ارسال ایمیل در ASP.NET با استفاده از HTML Template

    - ساختن Template مورد نظر شما جهت ارسال Email: برای این کار کافی است که Template مورد نظر خود را به فرمت HTML طراحی کنید. این به خود شما بستگی دارد که کدهای HTML را به صورت دستی بنویسید و یا از ادیتورهای WYSIWYG مانند FrontPage یا Dreamweaver یا !GoLive استفاده کنید. تنها تفاوتی که در اینجا وجود دارد این است که شما بایستی قسمتهایی از متن نامه خود را که متغیر هستند (مانند نام گیرنده Email، آدرس پست الکترونیکی وی و ...) را به گونه ای از بقیه قسمتها متمایز کنید. برای مثال اگر شما می خواهید در ابتدای نامه، دریافت کننده نامه را با نام خود مورد خطاب قرار دهید عبارت را به صورت زیر وارد کنید: "سلام "#NAME# لطفا توجه کنید که هیچ محدودیتی در تکنیک به کار رفته وجود ندارد و قرار دادن کاراکترهای ## فقط جهت متمایز ساختن این قسمت از محتوای استاتیک صفحه است و شما می توانید به صور دیگر آن را مشخص کنید مثلا ?NAME? یا هر چیز مشابه دیگر. این قسمت بعدا با نام شخص مورد نظر ما جایگزین می شود. نکته قابل ذکر دیگر اینکه چنانچه قصد دارید نامه خود را فارسی ارسال کنید تگ زیر را فراموش نکنید:

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">


    ۲- خواندن فایل Template جهت قراردادن در Body نامه شما:
    پس از اینکه Template را آماده نمودید بایستی این فایل را بخوانید، قسمتهای مورد نظر (متمایز شده با ##) را با عبارات مورد نظر خود (که می توانید از Database استخراج کنید) جایگزین کنید و این متن را به صورت یک متغیر رشته ای در Body نامه خود قرار دهید (گام 3). این کار به وسیله کد زیر صورت می پذیرد: (قبل از هر چیز شما بایستی Namespace مورد نیاز که در اینجا System.IO می باشد را Import کنید).

    Imports System.IO
    Dim reader As StreamReader
    Dim strFileName As String = Server.MapPath("templatel.htm")
    Dim strFileText
    reader = File.OpenText(strFileName)
    While reader.Peek <> -1
    strFileText += reader.ReadLine()
    End While
    reader.Close()
    strFileText = Replace(strFileText, "#Username#", Name.Text)
    strFileText = Replace(strFileText, "#MsgID#", Request("MsgID"))
    strFileText = Replace(strFileText, "#AuthorID#", Request("AuthorID"))


    حال بیایید نگاهی به کد فوق بیاندازیم: در سطر اول شما یک شی از نوع StreamReader که جهت خواندن فایلهای متنی به کار می رود را می سازید و در سطر بعدی مسیر فیزیکی فایل Template خود را در متغیر رشته‌ای strFileName ذخیره می کنید.

    نکته: در صورتیکه بخواهید در فایل کلاس خود از کد فوق استفاده کنید بایستی مسیر فیزیکی فایل را با استفاده از System.Web.HttpContext.Current.Server.MapPath("tem plate.htm") به دست آورید. اما در Code Behind یک WebForm همان Server.MapPath کافی است.

    سپس در سطر بعدی ما با استفاده از متد OpenText فایل مورد نظر را باز کرده و متن آن را در Reader قرار می دهیم. حال در یک حلقه While...End While سطر به سطر فایل Template را (که در اینجا کدهای HTML ما هستند) می خوانیم و در متغیر strFileText ذخیره می کنیم. Reader.Peek <> -1 بررسی می کند که آیا به انتهای فایل رسیده ایم یا خیر. پس از اینکه کل فایل را خوانده و در متغیر ذخیره کردیم. شی reader را می بندیم.
    در اینجا شما باید Template نامه خود را برای کاربر خاص Customize کنید. یعنی عبارات محصور شده با ## را با اطلاعات کاربر (که از بانک اطلاعاتی استخراج می شود و یا از یک Query String دریافت می شود) جایگزین کنید. در مثال بالا مقدار اول در Template با مقدار یک Textbox و دو مورد بعدی با Query String های انتهای یک URL جایگزین می شود.

    حاصل کار یک متغیر رشته ای به نام strFileText است که حاوی کد HTML مورد نیاز شما برای ارسال یک HTML Email می باشد. که مثلا عبارت ابتدای آن به صورت زیر در آمده است: "سلام مهدی"
    ۳- استفاده از قالب Import شده فوق و ارسال Email: حال به آسانی Email را ساخته و ارسال می کنیم. بدین ترتیب: (Imports System.Web.Mail را فراموش نکنید!)
    'Creating and sending mail to user
    Dim objMail As New MailMessage()
    objMail.From = "You@YourDomain.com"
    objMail.To = Email.Text.Trim
    objMail.Subject = "YOUR SUBJECT GOES HERE..." objMail.BodyFormat = MailFormat.Html objMail.BodyEncoding = System.Text.Encoding.UTF8 objMail.Body = strFileText SmtpMail.SmtpServer = "smtp.YOURSERVER.com" SmtpMail.Send(objMail)

    این قسمت نیاز به توضیخ چندانی ندارد. جز اینکه objMail.To را بایستی به صورت داینامیک (از DB و ...) تغییر دهید (در اینجا مقدار از یک Textbox دریافت شده است)، SMTP Server خود را مشخص کنید و Email را ارسال کنید! به همین سادگی. بقیه موارد بسیار واضح هستند. لطفا به این نکته توجه کنید که برخی SMTP Serverهایی که نیاز به Authentication دارند را نمی توان برای این منظور (ارسال Email به آدرس های خارج از SMTP Server فوق) مورد استفاده قرار داد. در این خصوص لطفا به Administrator سرور خود رجوع کنید.

    نردبان این جهان ما و منیست
    عاقبت این
    نردبان افتادنیست
    لاجرم آن کس که بالاتر نشست
    استخوانش سخت تر خواهد شکست




    #1 ارسال شده در تاريخ 11th December 2011 در ساعت 10:01

  2. tarenoco آواتار ها
    tarenoco
    کاربر سایت
    Jan 2014
    37
    0
    تشکر شده : 5

    پیش فرض

    من میخوام یه فرم داشته باشم که یه قسمت برای وارد کردن ایمیل و یه قسمت برای ارسال داشته باشه
    به این صورت که تو ی سایت وقتی بازدیدکننده ایمیل رو وارد میکنه فایلی که من براش تعریف کردم رو به ایمیل وارد شده ارسال کنه
    #2 ارسال شده در تاريخ 5th March 2014 در ساعت 14:15

موضوعات مشابه

  1. قالب سایت *********** -Fadelicious - HTML Blog & Portfolio Template
    توسط p h o e n i x در انجمن قالب وبلاگ , سايت
    پاسخ ها: 0
    آخرين نوشته: 8th October 2010, 22:54
  2. اسکریپت Genova - Minimalistic HTML/CSS Template
    توسط p h o e n i x در انجمن اسکریپت رایگان PHP
    پاسخ ها: 0
    آخرين نوشته: 22nd August 2010, 14:27
  3. اسکریپت *********** - Gourmet - HTML/CSS portfolio and business template
    توسط p h o e n i x در انجمن اسکریپت رایگان PHP
    پاسخ ها: 0
    آخرين نوشته: 22nd August 2010, 14:25
  4. ده template engine برتر به زبان PHP
    توسط Borna66_TAHA در انجمن PHP/MySQL
    پاسخ ها: 0
    آخرين نوشته: 5th November 2009, 19:02
  5. HTML Pad 2008 Pro v9.0.0.97 طراحی وب سایت با استفاده از زبان HTML
    توسط shahpoor در انجمن آرشیو بخش نرم افزار
    پاسخ ها: 0
    آخرين نوشته: 10th August 2008, 12:24

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •