توضیحات و دانلود

ضمیمه کردن فایل ها به ایمیل بدون ذخیره سازی روی دیسک با استفاده از کنترل ASP.Net FileUpload
0 0
ضمیمه کردن فایل ها به ایمیل بدون ذخیره سازی روی دیسک با استفاده از کنترل ASP.Net FileUpload

با سلام در این مقاله  با یک مثال توضیح خواهیم داد که چگونه فایلها را به ایمیل بدون نیاز به ذخیره آنها بر روی دیسک متصل کنید.
کدHTML
کد HTML دارای یک فرم با برخی از زمینه ها مانند آدرس ایمیل گیرنده، موضوع،  پیوست،بدنه, آدرس ایمیل Gmail ، رمز عبور  Gmail و یک دکمه برای ارسال ایمیل است.

<table border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td style="width: 80px">
            To:
        </td>
        <td>
            <asp:TextBox ID="txtTo" runat="server"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td>
            &nbsp;
        </td>
    </tr>
    <tr>
        <td>
            Subject:
        </td>
        <td>
            <asp:TextBox ID="txtSubject" runat="server"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td>
            &nbsp;
        </td>
    </tr>
    <tr>
        <td valign = "top">
            Body:
        </td>
        <td>
            <asp:TextBox ID="txtBody" runat="server" TextMode = "MultiLine" Height = "150" Width = "200"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td>
            &nbsp;
        </td>
    </tr>
    <tr>
        <td>
            File Attachment:
        </td>
        <td>
            <asp:FileUpload ID="fuAttachment" runat="server" />
        </td>
    </tr>
    <tr>
        <td>
            &nbsp;
        </td>
    </tr>
    <tr>
        <td>
            Gmail Email:
        </td>
        <td>
            <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td>
            &nbsp;
        </td>
    </tr>
    <tr>
        <td>
            Gmail Password:
        </td>
        <td>
            <asp:TextBox ID="txtPassword" runat="server" TextMode = "Password"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td>
            &nbsp;
        </td>
    </tr>
    <tr>
        <td>
        </td>
        <td>
            <asp:Button Text="Send" OnClick="SendEmail" runat="server" />
        </td>
    </tr>
</table>

ویژگی های  کلاس MailMessage
از(From ) - آدرس ایمیل فرستنده
To- آدرس ایمیل گیرنده (ها)
CC - رو نوشت (در صورت وجود)
BCC - کپی کربن کور (در صورت وجود)
موضوع (Subject)- موضوع ایمیل
بدنه (Body) - بدنه از ایمیل
IsBodyHtml - تعیین اینکه آیا بدن حاوی متن یا علامت گذاری به عنوان HTML است.
فایل پیوست (Attachments)- فایل پیوست (در صورت وجود)
ReplyTo - پاسخ به آدرس ایمیل

خواص کلاس SMTP
میزبان(Host) - آدرس سرور SMTP (Gmail: smtp.gmail.com)
EnableSsl - تعیین اینکه آیا میزبان شما اتصالات SSL را قبول می کند (Gmail: True)
UseDefaultCredentials - برای تأیید صحت بر اساس مجوز حساب کاربری مورد استفاده برای ارسال ایمیل، به درستی تنظیم شده است
مجوزها(Credentials) - اعتبار ورود معتبر برای سرور SMTP (Gmail: آدرس ایمیل و رمز عبور)
 پورت(Port) - شماره سرور SMTP (Gmail: 587)
 

فضاهای نام
شما باید فضای نامهای زیر را وارد کنید.
C #

using System.IO;
using System.Net;
using System.Net.Mail;

VB.Net 

Imports System.IO
Imports System.Net
Imports System.Net.Mail

ارسال ایمیل با پیوست بدون ذخیره در دیسک
کد زیر برای ارسال ایمیل با استفاده از حساب Gmail و SMTP سرور Gmail در ASP.Net، آدرس ایمیل گیرنده (به)، آدرس ایمیل فرستنده (از)، موضوع و بدنه از زمینه های مربوطه خود دریافت می شود.سپس تمام این مقادیر به یک شی از کلاس MailMessage تعریف می شوند.
برای پیوستن یک فایل به عنوان پیوست به ایمیل، باید فایل مورد نظر را به عنوان پیوست با استفاده از کنترل FileUpload ارسال کنید.
اگر کنترل FileUpload دارای پیوست باشد، پس پیوست به فهرست Attachments Object MailMessage اضافه می شود.
شما متوجه خواهید شد که فایل بصورت مستقیم به عنوان پیوست بدون ذخیره آن بر روی دیسک اضافه می شود، این امکان وجود دارد که از اطلاعات FileUpload ارسال شده از فایل InputStream که متعلق به نوع System.IO.Stream است، استخراج شده است. پارامتر دوم ارائه شده نام پرونده ای است که باید به عنوان پیوست ارسال شود که از کنترل FileUpload کنترل شده است.
پس از آن یک شی از کلاس SmtpClient ایجاد می شود، جایی که ما باید تنظیمات سرور ایمیل را تنظیم کنیم. جیمیل سرور ایمیل است، بنابراین ما تنظیمات ایمیل SMTP سرور Gmail را تنظیم می کنیم.
توجه:

لازم است که از اعتبار نامه آدرس ایمیل فرستنده در هنگام تعیین مجوزهای Gmail SMTP سرور به عنوان Gmail آدرس ایمیل فرستنده باید برابر نام کاربری Gmail مشخص شده در اعتبار باشد.
C #

protected void SendEmail(object sender, EventArgs e)
{
    using (MailMessage mm = new MailMessage(txtEmail.Text, txtTo.Text))
    {
        mm.Subject = txtSubject.Text;
        mm.Body = txtBody.Text;
        if (fuAttachment.HasFile)
        {
            string FileName = Path.GetFileName(fuAttachment.PostedFile.FileName);
            mm.Attachments.Add(new Attachment(fuAttachment.PostedFile.InputStream, FileName));
        }
        mm.IsBodyHtml = false;
        SmtpClient smtp = new SmtpClient();
        smtp.Host = "smtp.gmail.com";
        smtp.EnableSsl = true;
        NetworkCredential NetworkCred = new NetworkCredential(txtEmail.Text, txtPassword.Text);
        smtp.UseDefaultCredentials = true;
        smtp.Credentials = NetworkCred;
        smtp.Port = 587;
        smtp.Send(mm);
        ClientScript.RegisterStartupScript(GetType(), "alert", "alert('Email sent.');", true);
    }
}

 VB.Net 

Protected Sub SendEmail(sender As Object, e As EventArgs)
    Using mm As New MailMessage(txtEmail.Text, txtTo.Text)
        mm.Subject = txtSubject.Text
        mm.Body = txtBody.Text
        If fuAttachment.HasFile Then
            Dim FileName As String = Path.GetFileName(fuAttachment.PostedFile.FileName)
            mm.Attachments.Add(New Attachment(fuAttachment.PostedFile.InputStream, FileName))
        End If
        mm.IsBodyHtml = False
        Dim smtp As New SmtpClient()
        smtp.Host = "smtp.gmail.com"
        smtp.EnableSsl = True
        Dim NetworkCred As New NetworkCredential(txtEmail.Text, txtPassword.Text)
        smtp.UseDefaultCredentials = True
        smtp.Credentials = NetworkCred
        smtp.Port = 587
        smtp.Send(mm)
        ClientScript.RegisterStartupScript(Me.GetType, "alert", "alert('Email sent.');", True)
    End Using
End Sub

 


دانلود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

ارسال نظر
ارسال پیام به :