Сбой почтового скрипта c # для содержимого HTML - PullRequest
0 голосов
/ 26 февраля 2010

Я собираю сценарий для отправки html-почты с предварительным просмотром в hotmail и т. Д., И я рассказываю об уже существующем сценарии - я новичок в c #, так что это тоже опыт обучения.

Проблема в том, что я сделал несколько исправлений, и все в порядке до того момента, как я помещаю исходный код HTML в поле для комментариев - затем происходит сбой при отправке.

Я изучил его и попытался изменить новый MailMessage (); в новую MailDefinition (); а также добавление в faqMsg.IsBodyHtml = true; но это все еще терпит неудачу. это нормально только на обычном тексте. Есть мысли, на что мне нужно обратить внимание?

SmtpClient smtpCli = new SmtpClient("localhost");
MailMessage faqMsg = new MailMessage();
//MailDefinition faqMsg = new MailDefinition();

//faqMsg.BodyFileName = "email.htm";  
//faqMsg.IsBodyHtml = true;
faqMsg.From = new MailAddress("");
faqMsg.To.Add("");
faqMsg.Subject = "Mail test :" + subject.Text;

//Plain Text part
AlternateView plainView = AlternateView.CreateAlternateViewFromString("Enquiry Type:" + enquirytype.SelectedValue + "\r\nFrom:" + "\r\nEmail:" + email.Text + "\r\n\r\nComments\r\n" + comments.Text + "\r\n[EOF]", null, "text/plain");
//HTML part

AlternateView htmlView = AlternateView.CreateAlternateViewFromString("<strong>Enquiry Type:</strong>" + enquirytype.SelectedValue + "<br><br><strong>Email:</strong>" + email.Text + "<br><br><hr><br><strong>Comments</strong><br>" + HttpUtility.HtmlEncode(comments.Text) + "<br>EOF", null, "text/html");
faqMsg.AlternateViews.Add(plainView);
faqMsg.AlternateViews.Add(htmlView);

//Add Header Markers
faqMsg.Headers.Add("X-Company", "");
faqMsg.Headers.Add("X-Location", "");
faqMsg.Headers.Add("X-Brand", "");

smtpCli.Send(faqMsg);
lbReport.Text = "Your Message was Sent";
//Response.Redirect("email-thanks.aspx");

Ответы [ 2 ]

0 голосов
/ 01 марта 2010

Без точного текста исключения, которое вы видите, я собираюсь нанести удар в этом.

Это не похоже на ошибку электронной почты.

это звучит как общая ошибка, которая не позволяет вам вводить HTML-контент в текстовое поле.

Обязательно VaildateRequest=false в атрибуте @Page в верхней части страницы.

0 голосов
/ 26 февраля 2010

Эй, какую ошибку вы получаете?

Глядя на код, вам может потребоваться добавить символ @ перед строками с \ inside. Но это предположение без ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...