Я пытаюсь отправить большое количество писем, скажем, 1000, используя тестовое приложение java и почтовый сервер, но хотя приложение подтверждает, что оно отправило все 1000 писем без каких-либо исключений, я не получаю точное число (1000) того же во входящем ящике почтового ящика получателя (все письма отправляются одному и тому же получателю для проверки надежности приложения). Некоторые из них пропадают каждый раз, когда я запускаю приложение. Есть ли какие-либо средства для java-приложения, чтобы проверить, достигла ли каждая почта, отправляемая с помощью почтового сервера, адресату? И почему они вообще пропадают? Было бы очень полезно, если бы кто-нибудь мог дать советы / предложения о том, как с этим справиться.
Спасибо добрый день
Нет, не можешь (я думаю). Вы можете проверить, правильно ли было доставлено электронное письмо на ваш SMTP-сервер, но сообщение, вероятно, также пройдет через несколько других SMTP-серверов, и один из них может пометить ваше сообщение как спам, даже не зная об этом.
Я думаю, что лучший способ обеспечить доставку интернет-почты - это убедиться, что ваше сообщение не помечается как спам. Есть несколько простых способов сделать это:
Тем не менее, всегда есть шанс, что ваша почта не пройдет. Такова природа электронной почты в Интернете.
Ваше приложение доставляет почту только на ваш SMTP-сервер, который затем распространяет их дальше (как только что сказал Джерун). Таким образом, вы не можете «увидеть», действительно ли почта была доставлена или отброшена как спам где-то в пути.
Уведомление о доставке можно найти в заголовке Disposition-Notification-To. в RFC2298 (см. раздел 2.1), но я полагаю, что на самом деле это не поможет определить успешную доставку внутри вашего Java-приложения., если вы не получите доступ к почтовому ящику подтверждения оттуда.