| OLD | NEW | 
|   1 # formmail |   1 # formmail | 
|   2  |   2  | 
|   3 The web handler that extracts form data from a POST request, uses it to |   3 The web handler that extracts form data from a POST request, uses it to | 
|   4 populate an email template and then sends the produced email to a configured |   4 populate an email template and then sends the produced email to a configured | 
|   5 list of addresses. |   5 list of addresses. | 
|   6  |   6  | 
|   7 ## Dependencies |   7 ## Dependencies | 
|   8  |   8  | 
|   9 * [Python 2.7](https://www.python.org/download/releases/2.7/) |   9 * [Python 2.7](https://www.python.org/download/releases/2.7/) | 
|  10 * [Jinja2](http://jinja.pocoo.org/docs/2.10/intro/) |  10 * [Jinja2](http://jinja.pocoo.org/docs/2.10/intro/) | 
| (...skipping 24 matching lines...) Expand all  Loading... | 
|  35  |  35  | 
|  36     [formmail] |  36     [formmail] | 
|  37     handler1.url = formmail/test/apply/submit |  37     handler1.url = formmail/test/apply/submit | 
|  38  |  38  | 
|  39 The CSV file into which all submissions will be saved (optional): |  39 The CSV file into which all submissions will be saved (optional): | 
|  40  |  40  | 
|  41     handler1.csv_log = /var/log/handler1-log.csv |  41     handler1.csv_log = /var/log/handler1-log.csv | 
|  42  |  42  | 
|  43 The Jinja2 template for the email. This is where the recipient email addresses |  43 The Jinja2 template for the email. This is where the recipient email addresses | 
|  44 are entered. |  44 are entered. | 
|  45 [(See an example email template here.)](formmail/test/template/test.mail) |  45 [(See an example email template here.)](test/template/test.mail) | 
|  46  |  46  | 
|  47     handler1.template = formmail/handler1/mail-template.tmpl |  47     handler1.template = formmail/handler1/mail-template.tmpl | 
|  48  |  48  | 
|  49 The `handler1.fields.xxx` subgroup includes the descriptions of the form |  49 The `handler1.fields.xxx` subgroup includes the descriptions of the form | 
|  50 fields, and these must match the fields on the form. These are the fields |  50 fields, and these must match the fields on the form. These are the fields | 
|  51 expected in the POST request and then made available to the template. Each |  51 expected in the POST request and then made available to the template. Each | 
|  52 variable in the group defines a field and its value can be: |  52 variable in the group defines a field and its value can be: | 
|  53 * "mandatory" (which makes the field mandatory) |  53 * "mandatory" (which makes the field mandatory) | 
|  54 * and/or "email" (which makes the field an email) |  54 * and/or "email" (which makes the field an email) | 
|  55 * or it can be empty (just a normal optional field). |  55 * or it can be empty (just a normal optional field). | 
|  56  |  56  | 
|  57 For mandatory fields we can also set "group-name.fields.field-name.mandatory" |  57 For mandatory fields we can also set "group-name.fields.field-name.mandatory" | 
|  58 to override the error message that will be returned by the handler if the field |  58 to override the error message that will be returned by the handler if the field | 
|  59 was empty. Likewise for email fields we can define |  59 was empty. Likewise for email fields we can define | 
|  60 "group-name.fields.field-name.email" to set the error message that's returned |  60 "group-name.fields.field-name.email" to set the error message that's returned | 
|  61 if the content of the field doesn't look like an email. See an example: |  61 if the content of the field doesn't look like an email. See an example: | 
|  62  |  62  | 
|  63     handler1.fields.email = mandatory, email |  63     handler1.fields.email = mandatory, email | 
|  64     handler1.fields.email.mandatory = You failed the email test |  64     handler1.fields.email.mandatory = You failed the email test | 
|  65     handler1.fields.email.email = You failed the email validation |  65     handler1.fields.email.email = You failed the email validation | 
|  66     handler1.fields.non_mandatory_email = email |  66     handler1.fields.non_mandatory_email = email | 
|  67     handler1.fields.non_mandatory_message = |  67     handler1.fields.non_mandatory_message = | 
|  68     handler1.fields.mandatory = mandatory |  68     handler1.fields.mandatory = mandatory | 
| OLD | NEW |