I'm using OpenSMPTD 6.0 (6.0.2p1-r2 installed from alpine repository) in docker container to send emails from PHP app. Everythings works OK but from time to time I see the following messages in opensmptd logs:

debug: smtp: new client on listener: 0x55add3432e80
bb34e808f0b8be85 smtp event=connected address= host=localhost
bb34e808f0b8be85 smtp event=bad-input result="500 5.5.1 Invalid command: Pipelining not supported"
bb34e808f0b8be85 smtp event=closed reason=quit
debug: smtp: 0x55add3439100: deleting session: done

My smptd.conf:

listen on
table aliases db:/etc/smtpd/aliases.db
expire 4d
bounce-warn 1h, 6h, 2d
max-message-size 35M
accept from any for any relay

What does this message (500 5.5.1 Invalid command: Pipelining not supported) mean?

migrated from stackoverflow.com Sep 17 '17 at 8:42

This question came from our site for professional and enthusiast programmers.


PIPELINING is an SMTP extension described in RFC 2920. If a server supports PIPELINING the normal SMTP command and response scheme is altered to allow multiple commands to be sent without waiting for responses, and responses to be sent in batches instead of immediately after each command.

In your case, the client is doing something that makes the SMTP server think the client is using PIPELINING even though the server has not declared support for it. Since this expectations mismatch could produce erratic results, the server chooses to close the connection. There's only one way a client can signify use of PIPELINING and that's to send a new command without waiting for the response to the current command. Therefore that particular client behavior must be what your SMTP server is objecting to.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.