Сервер 2008 R2, MS IIS build 7.5 используется только как ретранслятор исходящей почты. Ограничения сеанса / сообщения и ограничения на вложения установлены до 500 МБ на вложение и сеанс. Размер прикрепленных файлов составляет 10-20 КБ.
При массовой рассылке писем через нашу GoldMine CRM software
, вложение проходит в тексте в кодировке base64. Если я отправлю его через Outlook, он будет работать нормально. Отправка электронного письма с вложением через GoldMine
к человеку проходит нормально. Только при отправке нескольким получателям. Это также включает HTML
на основе электронной почты. HTML будет представлен как обычный текст и не будет проанализирован.
Если я изменю исходящий SMTP для использования сервера нашего интернет-провайдера, который также является ретранслятором IIS 7.5 (relay.somedomain.com - 66.110.x.x), он пройдет успешно.
xmail * .myhosting.com - это сторонний поставщик услуг хостинга электронной почты, который мы используем для получения нашей электронной почты. Мы перестали использовать их в качестве исходящего хоста, потому что мы постоянно попадали в черный список через RBL.
Вот журнал почтового сервера:
#Software: Microsoft Internet Information Services 7.5
#Version: 1.0
#Date: 2016-05-17 13:12:32
#Fields: date time c-ip cs-username s-computername s-ip s-port cs-method cs-uri-query sc-status sc-win32-status sc-bytes cs-bytes time-taken cs-version cs-host cs(User-Agent)
2016-05-17 13:12:32 192.168.x.x MAILSVR01.localdomain.com MAILSVR01 192.168.4.15 0 EHLO +MAILSVR01.localdomain.com 250 0 231 36 0 SMTP - -
2016-05-17 13:12:32 192.168.x.x MAILSVR01.localdomain.com MAILSVR01 192.168.4.15 0 MAIL +FROM:<me@ourdomain.com> 250 0 46 33 0 SMTP - -
2016-05-17 13:12:32 192.168.x.x MAILSVR01.localdomain.com MAILSVR01 192.168.4.15 0 RCPT +TO:<email1@ourdomain.com> 250 0 35 32 0 SMTP - -
2016-05-17 13:12:32 192.168.x.x MAILSVR01.localdomain.com MAILSVR01 192.168.4.15 0 RCPT +TO:<email2@ourdomain.com> 250 0 33 30 0 SMTP - -
2016-05-17 13:12:32 192.168.x.x MAILSVR01.localdomain.com MAILSVR01 192.168.4.15 0 RCPT +TO:<email3@ourdomain.com> 250 0 32 29 0 SMTP - -
2016-05-17 13:12:32 192.168.x.x MAILSVR01.localdomain.com MAILSVR01 192.168.4.15 0 RCPT +TO:<email4@ourdomain.com> 250 0 38 35 0 SMTP - -
2016-05-17 13:12:32 192.168.x.x MAILSVR01.localdomain.com MAILSVR01 192.168.4.15 0 RCPT +TO:<email5@ourdomain.com> 250 0 37 34 0 SMTP - -
2016-05-17 13:12:32 192.168.x.x MAILSVR01.localdomain.com MAILSVR01 192.168.4.15 0 RCPT +TO:<email6@ourdomain.com> 250 0 34 31 0 SMTP - -
2016-05-17 13:12:32 192.168.x.x MAILSVR01.localdomain.com MAILSVR01 192.168.4.15 0 DATA +<SjQ5TkVLTShMNzFHJD5QNTk3ODk5NzEy@MAILSVR01> 250 0 130 43284 15 SMTP - -
2016-05-17 13:12:32 66.110.xx.xxx OutboundConnectionResponse MAILSVR01 - 25 - 220+relay.COC.com+Microsoft+ESMTP+MAIL+Service,+Version:+7.5.7600.16385+ready+at++Tue,+17+May+2016+09:12:31+-0400+ 0 0 114 0 0 SMTP - -
2016-05-17 13:12:32 66.110.xx.xxx OutboundConnectionCommand MAILSVR01 - 25 EHLO MAILSVR01.localdomain.com 0 0 4 0 0 SMTP - -
2016-05-17 13:12:32 66.110.xx.xxx OutboundConnectionResponse MAILSVR01 - 25 - 250-relay.somedomain.com+Hello+[66.110.xx.xxx] 0 0 39 0 0 SMTP - -
2016-05-17 13:12:32 66.110.xx.xxx OutboundConnectionCommand MAILSVR01 - 25 MAIL FROM:<sender1@ourdomain.com>+SIZE=43574 0 0 4 0 0 SMTP - -
2016-05-17 13:12:32 66.110.xx.xxx OutboundConnectionResponse MAILSVR01 - 25 - 250+2.1.0+sender1@ourdomain.com....Sender+OK 0 0 44 0 0 SMTP - -
2016-05-17 13:12:32 66.110.xx.xxx OutboundConnectionCommand MAILSVR01 - 25 RCPT TO:<email1@ourdomain.com> 0 0 4 0 0 SMTP - -
2016-05-17 13:12:32 66.110.xx.xxx OutboundConnectionCommand MAILSVR01 - 25 RCPT TO:<email2@ourdomain.com> 0 0 4 0 0 SMTP - -
2016-05-17 13:12:32 66.110.xx.xxx OutboundConnectionCommand MAILSVR01 - 25 RCPT TO:<email3@ourdomain.com> 0 0 4 0 0 SMTP - -
2016-05-17 13:12:32 66.110.xx.xxx OutboundConnectionCommand MAILSVR01 - 25 RCPT TO:<email4@ourdomain.com> 0 0 4 0 0 SMTP - -
2016-05-17 13:12:32 66.110.xx.xxx OutboundConnectionCommand MAILSVR01 - 25 RCPT TO:<email5@ourdomain.com> 0 0 4 0 0 SMTP - -
2016-05-17 13:12:32 66.110.xx.xxx OutboundConnectionCommand MAILSVR01 - 25 RCPT TO:<email6@ourdomain.com> 0 0 4 0 0 SMTP - -
2016-05-17 13:12:32 66.110.xx.xxx OutboundConnectionResponse MAILSVR01 - 25 - 250+2.1.5+email1@ourdomain.com+ 0 0 33 0 0 SMTP - -
2016-05-17 13:12:32 66.110.xx.xxx OutboundConnectionResponse MAILSVR01 - 25 - 250+2.1.5+email2@ourdomain.com+ 0 0 31 0 16 SMTP - -
2016-05-17 13:12:32 66.110.xx.xxx OutboundConnectionResponse MAILSVR01 - 25 - 250+2.1.5+email3@ourdomain.com+ 0 0 35 0 16 SMTP - -
2016-05-17 13:12:32 66.110.xx.xxx OutboundConnectionResponse MAILSVR01 - 25 - 250+2.1.5+email4@ourdomain.com+ 0 0 31 0 16 SMTP - -
2016-05-17 13:12:32 66.110.xx.xxx OutboundConnectionCommand MAILSVR01 - 25 BDAT 43574+LAST 0 0 4 0 16 SMTP - -
2016-05-17 13:12:32 66.110.xx.xxx OutboundConnectionResponse MAILSVR01 - 25 - 250+2.6.0+<RELAYbnGjke2bgzMnJt00001ab6@relay.somedomain.com>+Queued+mail+for+delivery 0 0 78 0 344 SMTP - -
2016-05-17 13:12:32 66.110.xx.xxx OutboundConnectionCommand MAILSVR01 - 25 QUIT - 0 0 4 0 344 SMTP - -
2016-05-17 13:12:32 66.110.xx.xxx OutboundConnectionResponse MAILSVR01 - 25 - 221+2.0.0+relay.somedomain.com+Service+closing+transmission+channel 0 0 60 0 344 SMTP - -
2016-05-17 13:12:34 192.168.x.x MAILSVR01.localdomain.com MAILSVR01 192.168.4.15 0 QUIT MAILSVR01.localdomain.com 240 1794 79 4 0 SMTP - -
Вот как приходит электронное письмо с заголовками:
Return-Path: <myemail@ourdomain.com>
Delivered-To: myemail@ourdomain.com
Received: (qmail 26071 invoked from network); 17 May 2016 12:33:54 -0000
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on xsa04.softcom.biz
X-Spam-Level:
X-Spam-DCC: : xsa04 1323; Body=1 Fuz1=1
X-Spam-Pyzor:
X-Spam-Status: No, score=-0.1 hits=-0.1 required=5.0 tests=AWL,BAYES_00,
MISSING_HEADERS,RDNS_NONE,URIBL_BLOCKED autolearn=no version=3.3.1
Received: from unknown (HELO relay.somedomain.com) ([66.110.xx.xx])
(envelope-sender <myemail@ourdomain.com>)
by xmail04.myhosting.com (qmail-ldap-1.03) with SMTP
for <email1@ourdomain.com>; 17 May 2016 12:33:48 -0000
Received: from MAILSVR01.localdomain.com ([66.110.xx.xx]) by relay.somedomain.com with Microsoft SMTPSVC(7.5.7600.16385);
Tue, 17 May 2016 08:30:14 -0400
Received: from MAILSVR01.localdomain.com ([192.168.x.xx]) by MAILSVR01.localdomain.com with Microsoft SMTPSVC(7.5.7601.17514);
Tue, 17 May 2016 08:30:15 -0400
Date: Tue, 17 May 2016 08:30:15 -0400
From: Travis <myemail@ourdomain.com>
Subject: Test Day 2 #1
Bcc:
Return-Path: myemail@ourdomain.com
Message-ID: <RELAYz2hW3BdeUJt3qL00001ab4@relay.somedomain.com>
X-OriginalArrivalTime: 17 May 2016 12:30:14.0665 (UTC) FILETIME=[DCECC790:01D1B037]
To: ---redacted--
Message-ID: <SjQ5S09PSyFKWDEgJD5QNTk1MzYyNTEy@MAILSVR01>
Mime-Version: 1.0
Organization: Company Name
X-Mailer: GoldMine [2014.1.0.489]
X-GM-Attachments-Sync-Time: 20160517083014
Content-Type: multipart/mixed; boundary="nqp=nb64=()17phzZSPf"
Return-Path: myemail@ourdomain.com
X-OriginalArrivalTime: 17 May 2016 12:30:15.0874 (UTC) FILETIME=[DDA54220:01D1B037]
--nqp=nb64=()17phzZSPf
Content-Type: text/plain
Test day 2
--nqp=nb64=()17phzZSPf
Content-Type: image/jpeg; name="image9.jpeg"
Content-Disposition: attachment; filename="image9.jpeg"
Content-Transfer-Encoding: base64
/9j/4Q/+RXhpZgAATU0AKgAAAAgACwEPAAIAAAAGAAAAkgEQAAIAAAAJAAAAmAESAAMAAAAB
AAYAAAEaAAUAAAABAAAAogEbAAUAAAABAAAAqgEoAAMAAAABAAIAAAExAAIAAAAGAAAAsgEy
-----removed fluff to cut down for Server Fault character limit----
AKGhrCvfip8DkRkktNfYf9d7fj6/uqwm+K/wSBaSHT9dcdCDcwdPUYhqPrstbN/cy3RXl+B/
/9l=
--nqp=nb64=()17phzZSPf--
Заголовки для успешного вложения в электронное письмо через SMTP нашего интернет-провайдера.
Subject:Test Day 2 #2
Date:Tuesday, May 17, 2016 8:43 am
From:Travis <myemail@ourdomain.com>
To:<redcated recipients>
Org:Western Plastics
X-Mailer:GoldMine [2014.1.0.489]
MIME Version:1.0
MIME Type:multipart/mixed; boundary="nqp=nb64=()J6Ske6A0R"
Message-id:<SjQ5TEtDMSA5QF9JJD5QNTk2MTgyODU4@MAILSVR1>
Return-Path:<myemail@ourdomain.com>
Delivered-To:myemail@ourdomain.com
Received:(qmail 1683 invoked from network); 17 May 2016 12:47:28
-0000
X-Spam-Checker-Version:SpamAssassin 3.3.1 (2010-03-16) on
xsa09.softcom.biz
X-Spam-DCC:: xsa09 1323; Body=1 Fuz1=1
X-Spam-Status:No, score=0.5 hits=0.5 required=5.0
tests=AWL,BAYES_50, RDNS_NONE,URIBL_BLOCKED autolearn=no
version=3.3.1
Received:from unknown (HELO relay.COC.com) ([66.110.220.12])
(envelope-sender <myemail@ourdomain.com>) by
xmail08.myhosting.com (qmail-ldap-1.03) with SMTP for
<email1@ourdomain.com>; 17 May 2016 12:47:24 -0000
Received:from MAILSVR1.localdomain.com ([66.110.xx.xx]) by
relay.somedomain.com with Microsoft SMTPSVC(7.5.7600.16385); Tue, 17 May
2016 08:43:54 -0400
Return-Path:myemail@ourdomain.com
X-OriginalArrivalTime:17 May 2016 12:43:54.0806 (UTC)
FILETIME=[C5C45D60:01D1B039]
Attachments:\\192.168.x.x\MailBox\Attach\TRAVIS\image7.jpeg
Test Email 2
Наконец-то понял это после тщательного изучения файлов журналов.
Почтовый клиент отправлял DATA
но внутренний SMTP-сервер отправлял его на смарт-хост через BDAT
и, очевидно, это потенциальная проблема DDoS, и я думаю, что где-то по пути она не позволяла ей обрабатываться должным образом. Возможно, что наш SonicWall
брандмауэр как-то тоже с этим связывался.
Оскорбительная линия:
2016-05-17 13:12:32 66.110.xx.xxx OutboundConnectionCommand MAILSVR01 - 25 BDAT 43574+LAST 0 0 4 0 16 SMTP - -
Поэтому решением было отключить BDAT, BINARYMIME и CHUNKING на локальном SMTP-сервере.
Кредит / Ссылка на источник:
https://adaptivethinking.wordpress.com/2010/12/21/smtp-esmtp-and-the-bdat-baddie/
https://joekiller.com/2007/09/19/bdat-causing-smtp-service-to-drop-email/
Если ссылка больше не доступна, вот шаги, которые они описали.
Telnet к почтовому узлу и выдать ehlo
команда. Проверьте глаголы, которые возвращает сервер. Он должен иметь BINARYMIME
и CHUNKING
перечисленные. После этих шагов у вас их не будет.
Проверить BINARYMIME
и CHUNKING
включены.:
telnet localhost 25
Type ehlo
220 MAILSVR Microsoft ESMTP MAIL Service, Version: 7.5.76
01.17514 ready at Tue, 14 Mar 2017 12:18:50 -0400
ehlo
250-MAILSVR Hello [168.1.1.1]
250-TURN
250-SIZE 51200000
250-ETRN
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-BINARYMIME
250-CHUNKING
250-8bitmime
250-VRFY
250-TLS
250-STARTTLS
250 OK
Установить Комплект ресурсов IIS6.0
открыто IIS Metabase Explorer
Перейдите к LM\SmtpSvc\1
Искать SmtpInboundCommandSupportOptions
Здесь значение по умолчанию было 7697601
. Я знал, что хочу отключить глаголы BINARYMIME и CHUNKING, чтобы использовать стол здесь Я вычитал 2097152
(BINARYMIME) и 1048576
(РАЗЪЕМ) из 7697601
:
7697601 - (2097152 + 1048576) = 4551873
Установить SmtpInboundCommandSupportOptions
ценность для 4551873
Отключить BDAT
Перейдите к LM\SmtpSvc
Изменить значение SmtpOutboundCommandSupportOptions
из 7
к 5
Закройте IIS Metabase Explorer
и перезапустил IIS Admin Service
(который, в свою очередь, перезапускает Simple Mail Transfer Protocol
(SMTP) сервис).
Повторите шаги для подключения к серверу через telnet
и убедитесь, что они были удалены. Если они этого не сделали, убедитесь, что вы в \1
подкаталог, когда вы вносите изменения.
Я хотел добавить к отличному ответу от @Travis.
В моей ситуации я запускаю SMTP-сервер IIS6 для ретрансляции почты на сервер IBM Domino.
Мы хотели разрешить несколько вложений в электронном письме, но обнаружили, что более одного вложения заставляют IIS вызывать BDAT
при ретрансляции, которую сервер Domino не поддерживает, и автоматически отбрасывает всю электронную почту.
Я изменился SmtpOutboundCommandSupportOptions
как было предложено и перезапустил IIS Admin Service
.
Как ни странно, тогда мы могли бы передать до четырех вложений, но при пятом вложении оно вернется к вызову BDAT
.
За это сообщение в блоге Peer Wisdom, значение для SmtpInboundCommandSupportOptions
и SmtpOutboundCommandSupportOptions
фактически должны следовать той же схеме.
Настройка SmtpOutboundCommandSupportOptions
к 4551873
решил проблему для меня.