От RFC2821 ("Протокол Simple Mail Transfer"):
почтовые данные завершаются строкой, содержащей только период, что есть последовательность символов "" (см. раздел 4.5.2).
...
Получение индикатора завершения данных требует от сервера обработки сохраненной информации почтовой транзакции. Эта обработка потребляет информацию в буфере обратного пути, буфере прямого пути и буфере почтовых данных, а при завершении этой команды эти буферы очищаются.
i.e. после получения <CRLF>.<CRLF>
сервер использует почтовые данные и очищает свои буферы; поэтому клиент не может, а затем отправить больше контента, связанного с сообщением, так как сервер забудет о сообщении.
...
После запуска, почтовая транзакция состоит из начинающей команды транзакции, одна или несколько команд RCPT и команду DATA, в таком порядке.
...
MAIL (или SEND, SOML или SAML) НЕ ДОЛЖЕН быть отправлен, если почтовая транзакция уже открыта, то есть, он должен быть послан только если не было начато не почтовой транзакции в сеансе , либо он успешно завершил успешную команду DATA, либо предыдущий был прерван с помощью RSET.
т.е. MAIL
начинает новую транзакцию почты и успешную DATA
команду (заканчивающуюся <CRLF>.<CRLF>
) приходит к выводу, что; клиент может отправить другое сообщение.
От RFC4954 («Расширение SMTP для проверки подлинности»):
После команды AUTH была успешно завершена, не больше команд AUTH могут быть выпущены в одной и той же сессии. По завершении успешной команды AUTH сервер ДОЛЖЕН отклонить любые другие команды AUTH с ответом 503.
Проверка подлинности выполняется не чаще одного раза за сеанс и применяется до конца этого сеанса.
afaik для отправки нескольких сообщений, которые вы переходите к команде «mail from» после того, как вы получили ответ от вашей предыдущей команды «data», например. как вы сказали сразу после состояния AUTH – Gryphius