چگونگی ارسال ایمیل همراه با تصویر در C#
جمعه 10 مرداد 1393چگونگی ارسال ایمیل همراه با تصویر در 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" را برای ارسال ایمیل کلیک کنید.
هم اکنون شما می توانید ایمیل ارسالی را مشاهده کنید.
- ASP.net
- 5k بازدید
- 20 تشکر