Что лучший способ, чтобы написать следующий код:Попробуйте поймать внутри Foreach Loop
foreach (DataRow row in table.Rows)
{
try
{
SendEmail(emailadress); //method that will send emails
MessageSent(true);
}
catch (Exception)
{
MessageSent(false);
break;
}
}
void MessageSent(Boolean IsSuccesful)
{
if (IsSuccesful)
{
Response.BufferOutput = true;
Response.Redirect("~/Page.aspx");
}
else
{
lblSent.Text = "Email has failed.";
}
}
Я пытаюсь итерацию через DataTable и отправить по электронной почте различных сообщений электронной почты, перечисленных в DataTable, а затем перенаправить Page.aspx после успешной отправки всех электронных писем в datatable. Однако, если письма не работают, я хотел бы показать ярлык lblSent. Я просто не знаю, лучший ли это для этого.
Вы что-то пробовали? Что случилось? –
Это прекрасно работает, но мне интересно, есть ли более эффективный способ написать это. Я все еще новичок в .net –
Почему вы не ставите в очередь целевые электронные письма, а затем отправляете их один раз? Я чувствую, что это намного эффективнее, чем отправка электронной почты по каждому отдельному адресу. –