PDA

View Full Version : ارسال يك فايل HTML در بدنه ايميل



AmirGhasemi
شنبه 04 شهریور 1391, 17:27 عصر
سلام بر همه دوستان و اساتيد بزرگوار
من يك كلاس نوشته ام كه يك ايميل را ارسال مي كند! تا وقتي كه body ايميل تكست ساده باشه همه چيز عاليه
اما اگه بخواهم داخل body از تگ هاي HTML استفاده كنم مثلا لينك يا عكس يا url بفرستم اييمل ارسال مي شود اما داخل ايميل خالي است! در واقع يك ايميل خالي ارسال مي كند
كلاسي كه براي ارسال ايميل نوشته ام را هم اين زير گذاشته ام!! اميدوارم دوستان به جد مرا ياري دهند!!
دوستان كمك كنيد تا ما عروس داري كنيم!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Libraries
{
public static class Email
{
/// <summary>
/// متد اصلاج الگوي متن ايميل
/// </summary>
/// <param name="strMessage">متن ايميل</param>
/// <returns>متن اصلاح شده</returns>
public static string ConvertTextForEmailBody(string strMessage)
{
strMessage = strMessage.Replace(System.Convert.ToChar(13).ToStr ing(), "<br />"); //return Enter Key
strMessage = strMessage.Replace(System.Convert.ToChar(10).ToStr ing(), "<br />"); //return Key
strMessage = strMessage.Replace(System.Convert.ToChar(9).ToStri ng(), "&nbsp;&nbsp;&nbsp;&nbsp;>"); //return TAB Key
return (strMessage);
}

/// <summary>
///
/// </summary>
/// <param name="sender">ايميل فرستنده</param>
/// <param name="Password">كلمه عبور فرستنده</param>
/// <param name="SMTPHost">SMTP Host</param>
/// <param name="SMTPPort">SMTP Port</param>
/// <param name="DisplayName">نام نمايشي</param>
/// <param name="recipient">گيرنده</param>
/// <param name="subject">موضوع</param>
/// <param name="body">متن ايميل</param>
/// <returns></returns>
public static int Send(
string sender,
string EmailPassword,
string SMTPHost,
int SMTPPort,
string DisplayName,
string recipient,
string subject,
string body
)
{
int intStatus;
// 0:وضعيت فرستنده مشخص نيست
//1 : ارسال با موفقيت انجام شد
//2: ارسال ناموفق بود
try
{
// *************************** MailMessage & MailAddress Configuration **********
if (DisplayName == string.Empty)
{
DisplayName = sender;
}
System.Net.Mail.MailAddress oMialAddress = new System.Net.Mail.MailAddress(sender, DisplayName, System.Text.Encoding.UTF8);
System.Net.Mail.MailMessage oMailMessage = new System.Net.Mail.MailMessage();
oMailMessage.From = oMialAddress;
oMailMessage.Sender = oMialAddress;
oMailMessage.ReplyTo = oMialAddress;
oMailMessage.To.Clear();
oMailMessage.CC.Clear();
oMailMessage.Bcc.Clear();
oMailMessage.Attachments.Clear();
if (recipient == string.Empty)
{
intStatus = 0;
return (intStatus);
}
else
{
oMailMessage.To.Add(recipient);
}

if (subject == string.Empty)
{
oMailMessage.Subject = "No Subject";
}
else
{
oMailMessage.Subject = subject;
}
oMailMessage.IsBodyHtml = true;
oMailMessage.SubjectEncoding = System.Text.Encoding.UTF8;
oMailMessage.Body = body;
// ************************************************** *********
// *************************** SMTP Configuration **********
System.Net.Mail.SmtpClient oSmtpClient = new System.Net.Mail.SmtpClient();
oSmtpClient.EnableSsl = true;
int intSmtpClientTimeOut = 100000000;
oSmtpClient.Timeout = intSmtpClientTimeOut;
oSmtpClient.UseDefaultCredentials = false;
oSmtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
oSmtpClient.Host = SMTPHost;
//int intSmtpPortNumbr = SMTPPort;
//string strSenderEmailPassword = EmailPassword;
oSmtpClient.Port = SMTPPort;
System.Net.NetworkCredential oNetworkCredential =
new System.Net.NetworkCredential(sender, EmailPassword);
oSmtpClient.Credentials = oNetworkCredential;
oSmtpClient.Send(oMailMessage);
// ************************************************** *********
intStatus = 1;
return (intStatus);

}
catch (Exception ex)
{
intStatus = 2;
return (intStatus);
throw ex;
}
}
}
}