0 votes

We have examined this with several telnet-sessions an exchange-documents.

In all examples in the net there is no "NOOP" and without this the server is quick.
Limilaby sends the NOOP - which acts in a default-gab of 5 seconds. The gab before the "MAIL FROM:XXXX" are just a breakpoint - the only existig gab is when we use NOOP.

(Parameter: -TapitInterval)

Source: https://docs.microsoft.com/en-us/powershell/module/exchange/mail-flow/set-receiveconnector?view=exchange-ps

Is this maybe fixed in later or the actual limilabs-version that no NOOP is set before the mail is send away?

by (400 points)

1 Answer

0 votes

NOOP is required in this place - client uses so called PIPELINING - which means that several commands are send at once.

This greatly improves performance as there is no need to wait for a server response for each command separately.

NOOP command is used to force server to send all outstanding responses, before actual message is being transferred.

NOOP command itself is not the reason that triggers this 5s delay.

If you want to turn off PIPELINING you can use EnablePipelining property:

using (Smtp client = new Smtp())
{
    client.ConnectSSL("smtp.example.com");
    client.UseBestLogin("user", "password");

    client.Configuration.EnablePipelining = false;

    ISendMessageResult result = client.SendMessage(mail);

    client.Close();
}

Smtp client will wait for a response for each command separately:

C: MAIL FROM:alice@example.com
C: RCPT TO:bob@example.com
C: NOOP
S: 250 2.1.0 Sender OK
S: 250 2.1.5 Recipient OK
S: 250 2.0.0 OK

-vs-

C: MAIL FROM:alice@example.com
S: 250 2.1.0 Sender OK
C: RCPT TO:bob@example.com
S: 250 2.1.5 Recipient OK
by (297k points)
...