submitFormWithHttpInfo method

Future<Response> submitFormWithHttpInfo({
  1. String? to,
  2. String? subject,
  3. String? redirectTo,
  4. String? emailAddress,
  5. String? successMessage,
  6. String? spamCheck,
  7. String? otherParameters,
})

Submit a form to be parsed and sent as an email to an address determined by the form fields

This endpoint allows you to submit HTML forms and receive the field values and files via email. #### Parameters The endpoint looks for special meta parameters in the form fields OR in the URL request parameters. The meta parameters can be used to specify the behaviour of the email. You must provide at-least a _to email address to tell the endpoint where the form should be emailed. These can be submitted as hidden HTML input fields with the corresponding name attributes or as URL query parameters such as ?_to=test@example.com The endpoint takes all other form fields that are named and includes them in the message body of the email. Files are sent as attachments. #### Submitting This endpoint accepts form submission via POST method. It accepts application/x-www-form-urlencoded, and multipart/form-data content-types. #### HTML Example html <form action=\"https://api.mailslurp.com/forms\" method=\"post\" > <input name=\"_to\" type=\"hidden\" value=\"test@example.com\"/> <textarea name=\"feedback\"></textarea> <button type=\"submit\">Submit</button> </form> #### URL Example html <form action=\"https://api.mailslurp.com/forms?_to=test@example.com\" method=\"post\" > <textarea name=\"feedback\"></textarea> <button type=\"submit\">Submit</button> </form> The email address is specified by a _to field OR is extracted from an email alias specified by a _toAlias field (see the alias controller for more information). Endpoint accepts . You can specify a content type in HTML forms using the enctype attribute, for instance: <form enctype=\"multipart/form-data\">.

Note: This method returns the HTTP Response.

Parameters:

  • String to: The email address that submitted form should be sent to.

  • String subject: Optional subject of the email that will be sent.

  • String redirectTo: Optional URL to redirect form submitter to after submission. If not present user will see a success message.

  • String emailAddress: Email address of the submitting user. Include this if you wish to record the submitters email address and reply to it later.

  • String successMessage: Optional success message to display if no _redirectTo present.

  • String spamCheck: Optional but recommended field that catches spammers out. Include as a hidden form field but LEAVE EMPTY. Spam-bots will usually fill every field. If the _spamCheck field is filled the form submission will be ignored.

  • String otherParameters: All other parameters or fields will be accepted and attached to the sent email. This includes files and any HTML form field with a name. These fields will become the body of the email that is sent.

Implementation

Future<Response> submitFormWithHttpInfo({ String? to, String? subject, String? redirectTo, String? emailAddress, String? successMessage, String? spamCheck, String? otherParameters, }) async {
  // ignore: prefer_const_declarations
  final path = r'/forms';

  // ignore: prefer_final_locals
  Object? postBody;

  final queryParams = <QueryParam>[];
  final headerParams = <String, String>{};
  final formParams = <String, String>{};

  if (to != null) {
    queryParams.addAll(_queryParams('', '_to', to));
  }
  if (subject != null) {
    queryParams.addAll(_queryParams('', '_subject', subject));
  }
  if (redirectTo != null) {
    queryParams.addAll(_queryParams('', '_redirectTo', redirectTo));
  }
  if (emailAddress != null) {
    queryParams.addAll(_queryParams('', '_emailAddress', emailAddress));
  }
  if (successMessage != null) {
    queryParams.addAll(_queryParams('', '_successMessage', successMessage));
  }
  if (spamCheck != null) {
    queryParams.addAll(_queryParams('', '_spamCheck', spamCheck));
  }
  if (otherParameters != null) {
    queryParams.addAll(_queryParams('', 'otherParameters', otherParameters));
  }

  const contentTypes = <String>[];


  return apiClient.invokeAPI(
    path,
    'POST',
    queryParams,
    postBody,
    headerParams,
    formParams,
    contentTypes.isEmpty ? null : contentTypes.first,
  );
}