چگونگی ارسال ایمیل همراه با تصویر در C#

جمعه 10 مرداد 1393

چگونگی ارسال ایمیل همراه با تصویر در C# در این مقاله چگونگی ارسال ایمیل همراه با عکس را در C# توضیح خواهم داد.

چگونگی ارسال ایمیل همراه با تصویر در C#

در این مقاله چگونگی ارسال ایمیل همراه با عکس را در C# توضیح خواهم داد.

برای ارسال ایمیل شما باید سرویس ایمیل خود را روی سرور تنظیم کنید.

بعد از انجام تنظیمات سرور، شما باید تنظیمات زیر را انجام دهید.

-یک وب سایت جدید بسازید و به آن یک صفحه اضافه کنید.

-سه کنترل تکس باکس به آن اضافه می کنید،برای ایمیل دریافت کننده، موضوع ایمیل ، متن ایمیل و یک باتن برای ارسال ایمیل.

-نوشتن کد مربوط به ارسال ایمیل در فایل ".cs" و یک تصویر در یک رویداد"button click."

مرحله اول

ساخت یک وب سایت با نام "MailServer".

مرحله دوم

اضافه کردن یک صفحه جدید با نام "SendingMail.aspx"

یک باتن با رویداد Onclick برای ارسال ایمیل در این صفحه.


    <table>  
                <tr>  
                    <td>Mail To:-</td>  
                    <td>  
                        <asp:TextBox ID="txtEmail" runat="server" Width="200px">  
                        </asp:TextBox></td>  
                </tr>  
                <tr>  
                    <td>Subject:-</td>  
                    <td>  
                        <asp:TextBox ID="txtSubject" runat="server" Width="200px">  
                        </asp:TextBox></td>  
                </tr>  
                <tr>  
                    <td>Message:-</td>  
                    <td>  
                        <asp:TextBox ID="txtmessagebody" runat="server" TextMode="MultiLine" Height="200px" Width="400px">  
                        </asp:TextBox></td>  
                </tr>  
                <tr>  
                    <td colspan="2" align="center">  
                        <asp:Button ID="btn_send" runat="server" Text="Send Mail"  
                            OnClick="btn_send_Click" /></td>  
                </tr>  
            </table>  

اضافه کردن یک تصویر با نام "photo.jpg"  در یک پوشه با نام "Images".

اضافه کردن 4 Namespace در بالای فایل ".cs"


    using System.Net.Mail;  
    using System.IO;  
    using System.Text;  
    using System.Net.Mime;  

نوشتن کد زیر در رویداد کلیک باتن برای ارسال ایمیل

  protected void btn_send_Click(object sender, EventArgs e)  
    {  
        try  
        {  
            MailMessage message = new MailMessage();  
            message.To.Add(txtEmail.Text);// Email-ID of Receiver  
            message.Subject = txtSubject.Text;// Subject of Email  
            message.From = new   
System.Net.Mail.MailAddress("no-reply@example.com");// Email-ID of Sender  
            message.IsBodyHtml = true;  
            message.AlternateViews.Add(Mail_Body());  
            SmtpClient SmtpMail = new SmtpClient();  
            SmtpMail.Host = "Your Host";//name or IP-Address of Host used for SMTP transactions  
            SmtpMail.Port = 25;//Port for sending the mail  
            SmtpMail.Credentials = new   
System.Net.NetworkCredential("", "");//username/password of network, if apply  
            SmtpMail.DeliveryMethod = SmtpDeliveryMethod.Network;  
            SmtpMail.EnableSsl = false;  
            SmtpMail.ServicePoint.MaxIdleTime = 0;  
            SmtpMail.ServicePoint.SetTcpKeepAlive(true, 2000, 2000);  
            message.BodyEncoding = Encoding.Default;  
            message.Priority = MailPriority.High;  
            SmtpMail.Send(message); //Smtpclient to send the mail message  
            Response.Write("Email has been sent");  
        }  
        catch (Exception ex)  
        { Response.Write("Failed"); }  
    }  

مقدار "SmtpMail.Host" ،نام هاست شما و یا آدرس IP شما می باشد , "SmtpMail.Port"  شما هم متفاوت خواهد بود.


    private AlternateView Mail_Body()  
        {  
            string path = Server.MapPath(@"Images/photo.jpg");  
            LinkedResource Img = new LinkedResource(path, MediaTypeNames.Image.Jpeg);  
            Img.ContentId = "MyImage";  
            string str = @"  
                <table>  
                    <tr>  
                        <td> '" + txtmessagebody.Text + @"'  
                        </td>  
                    </tr>  
                    <tr>  
                        <td>  
                          <img src=cid:MyImage  id='img' alt='' width='100px' height='100px'/>   
                        </td>  
                    </tr></table>  
                ";  
            AlternateView AV =   
            AlternateView.CreateAlternateViewFromString(str, null, MediaTypeNames.Text.Html);  
            AV.LinkedResources.Add(Img);  
            return AV;  
        }  

مرحله سوم

صفحه رارروی سرور اختصاصی خود اجرا کنید

بعد از پرکردن اطلاعات معتبر،دکمه "Send mail" را برای ارسال ایمیل کلیک کنید.

هم اکنون شما می توانید ایمیل ارسالی را مشاهده کنید.

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید