============== Hook reference ============== ``ConfirmationEmail`` --------------------- .. class:: ConfirmationEmail Sends a confirmation email to the user. :param str from: From email address. This option is **required**. :param str message: Confirmation message. Defaults to :ref:`setting-confirmation_message`. :param str subject: Email subject. Defaults to :ref:`setting-confirmation_subject`. :param str to: To email address. Either a field name or an explicit value. This hook sends a confirmation email to whomever submits the form. Like :class:`EmailForm`, the default settings are designed to be adaptive and will throw exceptions if a value cannot be set. ``EmailForm`` ------------- .. class:: EmailForm Emails the form data. :param arr exclude_fields: An array of fields to exclude from the email. :param str from: From email address. Either a field name or an explicit value. :param str from_name: From name. Either a field name or an explicit value. :param str message_template: Template from which to create the email body. Either a file path or a string. :param str subject: Email subject. :param str to: To email address. This option is **required**. The default settings are designed to be adaptive, but ``EmailForm`` will throw an exception if a value cannot be found for a particular setting. If the ``message_template`` is a string, ``EmailForm`` will replace ``{{ body }}`` with the automatically generated body, allowing you to specify a greeting and salutation without creating a dedicated template file. ``FileUpload`` -------------- .. class:: FileUpload Handles file-upload logic. This hook moves any files in the temporary upload directory to the root upload directory. Since hooks run after validation, the files are already approved and valid. This hook is necessary if your form contains any :ref:`upload fields `.