code: @Override
      public void deliver(Postcard postcard) {
          final SMailPostingMessage message = createMailMessage(postcard);
          if (isCancel(postcard)) {
              return; // no logging here, only filter knows the reason
          }
          prepareAddress(postcard, message);
          prepareSubject(postcard, message);
          prepareBody(postcard, message);
          prepareAsync(postcard);
          prepareRetry(postcard);
          disclosePostingState(postcard, message);
          hookPreparedMessage(postcard, message);
          if (postcard.isDryrun()) {
              logger.debug("*dryrun: postcard={}", postcard); // normal logging here
              return;
          }
          send(postcard, message);
      }
docs: =======