Мне нужно отправить почту с несколькими приемниками. Я использую объект mailmessage со свойством «to», содержащим разделенные точкой с двоеточиями. Когда я поймаю исключение, есть ли способ узнать, что адрес ведьмы порождает ошибку?ошибка анализа с помощью мульти приемника mailmessage
Я знаю, что могу использовать цикл, но я думаю, что этот способ более эффективен для большого списка адресов и вложенных файлов.
Я использую ниже код:
MailMessage message = new MailMessage();
message.From = new MailAddress(txtDe.Text);
message.Bcc.Add(mails);
message.Body = CKEditor1.Text;
message.IsBodyHtml = true;
message.BodyEncoding = System.Text.Encoding.UTF8;
message.Subject = txtObj.Text;
message.SubjectEncoding = System.Text.Encoding.UTF8;
string txt=Regex.Replace(CKEditor1.Text, @"<[^>]*>", String.Empty);
var plainView = AlternateView.CreateAlternateViewFromString(txt, null, "text/plain");
var htmlView = AlternateView.CreateAlternateViewFromString(CKEditor1.Text, null, "text/html");
message.AlternateViews.Add(plainView);
message.AlternateViews.Add(htmlView);
string[] foldersIds = Session["uploadedFoldersId"].ToString().Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
foreach (string folderId in foldersIds)
{
string tempPath = Path.Combine(new string[] { Path.GetTempPath(), "_AjaxFileUpload", folderId });
DirectoryInfo di = new DirectoryInfo(tempPath);
FileInfo[] files = di.GetFiles();
smtp.attachement[] att = new smtp.attachement[files.Length];
foreach (FileInfo f in files)
{
message.Attachments.Add(new Attachment(f.FullName));
}
}
try
{
client.Send(message);
message.Dispose();
Response.Redirect(tools.urlRetour(Request.QueryString["retour"]));
}
catch (Exception ex)
{
err.setErreur("Erreur à l'envoi!", ex.ToString(), 0);
if (last) displayInfo();
}
finally
{
if (last)
{
foreach (string folderId in foldersIds)//remove temporary uploaded files folders
{
string tempPath = Path.Combine(new string[] { Path.GetTempPath(), "_AjaxFileUpload", folderId });
DirectoryInfo di = new DirectoryInfo(tempPath);
di.Delete(true);
}
}
}
Правильно, но вы должны использовать SmtpFailedRecipientException без каких-либо s, и это работает благодаря – user1974845