anchor.diff:      var recipient;
   
       // We are processing the last recipient.
  -    if (_recipientIndex == _envelope.recipients.length - 1) {
  +    if (_recipientIndex == _allRecipients.length - 1) {
         _recipientIndex = 0;
   
         _currentAction = _actionRecipient;
  -      recipient = _envelope.recipients[_recipientIndex];
  +      recipient = _allRecipients[_recipientIndex];
       }
   
       // There are more recipients to process. We need to send RCPT TO multiple times.
       else {
         _currentAction = _actionMail;
  -      recipient = _envelope.recipients[++_recipientIndex];
  +      recipient = _allRecipients[++_recipientIndex];
       }
   
       sendCommand('RCPT TO:<${Address.sanitize(recipient)}>');
  
positive.code:       envelope._isDelivered = true;
  
        onIdle.listen((_) {
          _currentAction = _actionMail;
          sendCommand('MAIL FROM:<${Address.sanitize(_envelope.from)}>');
        });
  
negative.code:     }
  
      _currentAction = _actionAuthenticateLoginPassword;
      sendCommand(convert.base64.encode(options.username.codeUnits));
    }
  
    void _actionAuthenticateLoginPassword(String message) {
  