#html #asp.net #email #exception #c#-4.0
#HTML #asp.net #Адрес электронной почты #исключение #c #-4.0
Вопрос:
у меня есть этот код, который генерирует журнал или отчет об исключении, и он использует переменную типа string builder, к которой добавляются свойства и значения исключения, которое получает это с помощью исключений object.so теперь, когда я вызываю метод отправки электронной почты, вводя переменную string builder в аргумент, тело сообщения получает то, что содержится в этой переменной.Итак, здесь я хочу, чтобы мой код вставлял html-элементы типа и в это сообщение электронной почты, чтобы добавить некоторый стиль.На что я не имею ни малейшего представления, как это сделать, мне просто нужно написать свойство exception жирным шрифтом и установить семейство шрифтов свойства и значения, чтобы они отличались в теле письма.Пожалуйста, помогите мне с этим!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Configuration;
using System.Net.Mail;
namespace WebApplication5
{
public partial class EnterMarks : System.Web.UI.Page
{
public float average,total;
public string grade,chk,exmessage;
DataClasses1DataContext db = new DataClasses1DataContext();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button2_Click(object sender, EventArgs e)
{
tblExcDet te = new tblExcDet();
var query1 = from n in db.tblContacts select n.StudentID;
foreach (var q in query1)
{
if (q.Equals((int.Parse(TextBox4.Text))))
{
Label2.Text = "ID Found";
}
}
try
{
int? i = null;
tblContact tc = new tblContact();
tc.StudentID = (int)i ;
//db.tblContacts.InsertOnSubmit(tc);
db.SubmitChanges();
}
catch (Exception ex)
{
log(ex);
Label2.Text = "Can't assign null value into a table id";
}
}
public static void log(Exception ex)
{
StringBuilder sbEMessage = new StringBuilder();
DateTime mydatetime1 = DateTime.Now;
sbEMessage.Append("Exception Message" Environment.NewLine);
sbEMessage.Append(ex.Message Environment.NewLine);
sbEMessage.Append(Environment.NewLine Environment.NewLine);
sbEMessage.Append("Exception Date and Time" Environment.NewLine);
sbEMessage.Append(mydatetime1 Environment.NewLine Environment.NewLine);
sbEMessage.Append("Exception Source" Environment.NewLine);
sbEMessage.Append(ex.Source Environment.NewLine Environment.NewLine);
sbEMessage.Append("Exception Hresult" Environment.NewLine);
sbEMessage.Append(ex.HResult Environment.NewLine Environment.NewLine);
sbEMessage.Append("Exception Stack trace" Environment.NewLine);
sbEMessage.Append(ex.StackTrace Environment.NewLine Environment.NewLine);
sbEMessage.Append("Exception Data" Environment.NewLine);
sbEMessage.Append(ex.Data Environment.NewLine);
sbEMessage.Append("Exception target site" Environment.NewLine);
sbEMessage.Append(Environment.NewLine Environment.NewLine);
sbEMessage.Append("Inner Exception");
sbEMessage.Append(ex.InnerException Environment.NewLine);
sendEmail(sbEMessage.ToString());
}
public static void sendEmail(string emailbody)
{
MailMessage mailMessage = new MailMessage("kamal.enest@gmail.com", "kamalu960@gmail.com");
mailMessage.Subject = "Exception";
mailMessage.Body = emailbody;
SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587);
smtpClient.Credentials = new System.Net.NetworkCredential()
{
UserName = "kamal.enest@gmail.com",
Password = "1011664123"
};
smtpClient.EnableSsl = true;
smtpClient.Send(mailMessage);
}
}
}
Ответ №1:
Если вы хотите добавить html-теги, такие как bold, italic, структура таблицы, необходимо установить для свойства IsBodyHtml значение true.
public static void sendEmail(string emailbody)
{
MailMessage mailMessage = new MailMessage("kamal.enest@gmail.com", "kamalu960@gmail.com");
mailMessage.Subject = "Exception";
mailMessage.Body = emailbody;
mailMessage.IsBodyHtml true;
SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587);
smtpClient.Credentials = new System.Net.NetworkCredential()
{
UserName = "kamal.enest@gmail.com",
Password = "1011664123"
};
smtpClient.EnableSsl = true;
smtpClient.Send(mailMessage);
}
Выделить жирным шрифтом некоторый текст: « <b>Your bold text</b>
«
Для установки цвета: <font color='red'>color text</font>
public static void log(Exception ex)
{
StringBuilder sbEMessage = new StringBuilder();
DateTime mydatetime1 = DateTime.Now;
sbEMessage.Append("<table>");
sbEMessage.Append("<tr><td>");
sbEMessage.Append("Exception Message" Environment.NewLine );
sbEMessage.Append("</td> <td>");
sbEMessage.Append(ex.Message Environment.NewLine);
sbEMessage.Append("</td></tr>");
sbEMessage.Append(Environment.NewLine Environment.NewLine);
sbEMessage.Append("Exception Date and Time" Environment.NewLine);
sbEMessage.Append(mydatetime1 Environment.NewLine Environment.NewLine);
sbEMessage.Append("Exception Source" Environment.NewLine);
sbEMessage.Append(ex.Source Environment.NewLine Environment.NewLine);
sbEMessage.Append("Exception Hresult" Environment.NewLine);
sbEMessage.Append(ex.HResult Environment.NewLine Environment.NewLine);
sbEMessage.Append("Exception Stack trace" Environment.NewLine);
sbEMessage.Append(ex.StackTrace Environment.NewLine Environment.NewLine);
sbEMessage.Append("Exception Data" Environment.NewLine);
sbEMessage.Append(ex.Data Environment.NewLine);
sbEMessage.Append("Exception target site" Environment.NewLine);
sbEMessage.Append(Environment.NewLine Environment.NewLine);
sbEMessage.Append("Inner Exception");
sbEMessage.Append(ex.InnerException Environment.NewLine);
sbEMessage.Append("</table>");
sendEmail(sbEMessage.ToString());
}
Комментарии:
1. мне нужно поместить свойство exception и значение exception в разные разделы, связанные с их собственным стилем, возможно ли это?
2. ДА… вы должны использовать форматирование таблицы. Обновил ответ. Применяется для сообщения об исключении первого свойства.