Как игнорировать одинаковые электронные письма с помощью smtp за 30 секунд? - PullRequest
0 голосов
/ 07 мая 2020
smtpClient.Send(mail);

на реальном сервере, когда мы получаем исключения, поэтому мы постоянно получаем одинаковые электронные письма, потому что несколько пользователей часто сталкиваются с этой частью ошибочного кода. Я хочу избежать этой ситуации. Есть ли вариант, при котором мы можем игнорировать несколько писем, в которых есть одно и то же исключение или сообщение в течение определенного периода времени (не менее 30 секунд). Этого можно добиться с помощью NLog MailTarget. Я хочу сделать то же самое с smtp. Как мы можем этого добиться?

1 Ответ

0 голосов
/ 07 мая 2020

Это кажется очень обратным способом решения проблемы. Если вы не хотите, чтобы вас спамили подобными сообщениями об ошибках, не отправляйте сразу несколько писем.

Для отладки вам понадобится полный журнал ошибок. Время, в которое могут произойти определенные ошибки, может быть принципиально важной отладочной информацией (эй, это согласуется с этой резервной копией ...). Но вы хотите отправлять сообщения о новой ошибке только один раз.

Итак, вы хотите регистрировать все. Но отправлять уведомления только в том случае, если в журнале есть новая ошибка. Это вызывает вопросы, например, как быстро вы должны «забыть» о произошедшей ошибке и потребовать нового уведомления. Или как часто вы должны отправлять сводку ошибок.

Весь этот вопрос кажется совершенно неуместным при отправке почты. Это действительно относится к подходам к правильному ведению журнала ошибок и отчетности. То, что вы отправляете эти уведомления по электронной почте прямо сейчас, на самом деле лишь незначительная деталь.

...