Я заключил соглашение о хостинге с уважаемым хостинг-провайдером на пару серверов с выходом в Интернет. Мы развернули на этих серверах несколько приложений, которые отправляют нам различные электронные письма для отчетов.
Контекст:
Каждый сервер работает под управлением Windows Server 2003 R2 с установленной службой SMTP IIS 6.0.
Каждое приложение настроено на использование локального экземпляра IIS для отправки электронной почты.
Внешний IP-адрес каждого сервера привязан к определенному домену, например:
Эти электронные письма отправляются с доменного имени компании, а не с доменного имени размещенных серверов (например: reporting@mycompanydomain.com)
Симптомы:
Небольшое количество (<1%) электронных писем, отправленных из этих приложений, похоже, дублируются. Это точные дубликаты с точки зрения содержания и заголовки сообщений.
Исправление:
Я связался со своим хостинг-провайдером, и они сказали мне, что это обычная проблема, и посоветовали мне:
Проблема продолжается:
Я внес все изменения, как описано выше, я немного колебался, потому что эти шаги, казалось, предполагали, что они были больше для предотвращения блокировки ваших сообщений, чем для предотвращения их дублирования - но я, конечно, не эксперт в этих вопросах.
Прошло 5 дней с тех пор, как я применил это исправление, но проблема все еще сохраняется.
Я уверен, что эти проблемы не являются ошибкой в программном обеспечении, потому что это 4 разных приложения, установленных на 2 разных серверах, и все они демонстрируют такое странное поведение. Такое поведение также не наблюдалось в нашей среде UAT.
Правильно ли мои хозяева предложили это исправление? Если нет, то кто-нибудь знает, что может быть причиной этой проблемы?
Большое спасибо
Я использую более 20 таких устройств - W2K3R2 с IIS SMTP и никогда не видел такого поведения. Как вы и подозревали, все эти шаги в их «исправлении» были направлены на то, чтобы повысить вероятность того, что ваши сообщения будут получены на другом конце, а не заблокированы как спам.
Вы на 100% уверены, что дублирование происходит в источнике? В прошлом у меня были проблемы с созданием дубликатов писем в почтовой системе получателя. Если бы это происходило, все атрибуты были бы такими же.
Я предполагаю, что я бы также запустил ведение журнала SMTP IIS на размещенных машинах и просмотрел эти журналы. Там может быть какая-то подсказка. Если IIS отправляет 2 копии сообщения, вы увидите 2 записи в этом журнале. Если там две записи, вероятно, виноват механизм, который вы используете для отправки сообщений в IIS, который вы не обсуждали подробно. Как именно вы это делаете?
Хорошо, я здесь играю в авокадо дьявола, но на всякий случай я упомяну об этом - вы используете какую-то технику очереди для отправки писем в своем приложении? Я спрашиваю, если вы используете архитектуру в стиле служебной шины, и, возможно, сообщения обрабатываются, таким образом отправляя электронные письма, но по какой-то причине возникает исключение, которое означает, что служебная шина повторяет обработку сообщения.
Или что-то. Я, наверное, лаю не на ту акацию, но об этом стоит упомянуть. :)