code: public com.squareup.okhttp.Call postCharactersCharacterIdMailAsync(Integer characterId, String datasource,
              String token, Mail mail, final ApiCallback<Integer> callback) throws ApiException {
  
          com.squareup.okhttp.Call call = postCharactersCharacterIdMailValidateBeforeCall(characterId, datasource, token,
                  mail, callback);
          Type localVarReturnType = new TypeToken<Integer>() {
          }.getType();
          apiClient.executeAsync(call, localVarReturnType, callback);
          return call;
      }
docs: Send a new mail (asynchronously) Create and send a new mail --- SSO
  Scope: esi-mail.send_mail.v1
  
  @param characterId
  An EVE character ID (required)
  @param datasource
  The server name you would like data from (optional, default to
  tranquility)
  @param token
  Access token to use if unable to set a header (optional)
  @param mail
  (optional)
  @param callback
  The callback to be executed when the API call finishes
  @return The request call
  @throws ApiException
  If fail to process the API call, e.g. serializing the request
  body object