readme
This commit is contained in:
parent
033ccda95f
commit
f1cc88a0b1
68
readme.md
Normal file
68
readme.md
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
# Contact Mailer
|
||||||
|
A minimal python app to send mail when people fills in your contact form!
|
||||||
|
|
||||||
|
## Why?
|
||||||
|
|
||||||
|
Here at Jean-Cloud, we are fans of static websites. They are easily distributed, use few ressources and are very secured.
|
||||||
|
|
||||||
|
But the first limitation is… No interractions… So no contact form… That would be a shame to deploy a website without a contact section!
|
||||||
|
|
||||||
|
## How does it work?
|
||||||
|
### Create the contact form
|
||||||
|
- Create or reuse an existing contact form
|
||||||
|
- Add the `action` parameter to the mailer address + `/submit`
|
||||||
|
- Get a token from this mailer app and place it in your form like :
|
||||||
|
```
|
||||||
|
<form action="https://mailer.jean-cloud.net/submit" method="POST">
|
||||||
|
<input type="mail" name="mail" />
|
||||||
|
<input type="text" name="nom" />
|
||||||
|
<input type="text" name="objet" />
|
||||||
|
<textarea name="contenu" required="required"></textarea>
|
||||||
|
<input type="hidden" name="token" value="eYEqyDXk4bKgFrwuWdN0B9UZtOnIlJcRzx8mh2jCsPTAH7V5QS" />
|
||||||
|
<input type="submit" />
|
||||||
|
</form>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Identifying on the mailer
|
||||||
|
Ask for an account to the mailer admin.
|
||||||
|
They will hand you a password like : `hepaNRSkqcxKD1QujwTr9I6XyiA7VOCGnsWbMtdlZJz0o8ULHP`
|
||||||
|
|
||||||
|
### Configure the mail sending
|
||||||
|
You can choose how information sent with form will be displayed in the final mail! Actually there are two templatable fields: the mail subject and content.
|
||||||
|
Here is a template example :
|
||||||
|
```
|
||||||
|
subject: "[Contact] {{nom|anonyme}} — {{object|no object}}"
|
||||||
|
content: "{{message}}"
|
||||||
|
```
|
||||||
|
When the form will be submitted to the mailer, parts like `{{…}}` will be replaced by fields content of the same name!
|
||||||
|
If the field holds no value, two possibilities:
|
||||||
|
- The default value specified after `|` is used
|
||||||
|
- There is no default value, the form is rejected.
|
||||||
|
TIP: you can set an empty default value in order to have a facultative field: `{{name|}}`.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
### Docker
|
||||||
|
`docker pull jeancloud/contact-mailer`
|
||||||
|
### Git & Pip in virtualenv
|
||||||
|
```
|
||||||
|
git clone https://git.jean-cloud.net/adrian/contact-mailer
|
||||||
|
cd contact-mailer
|
||||||
|
virtualenv venv
|
||||||
|
. venv/bin/activate
|
||||||
|
pip install -r requirements.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
## Running it
|
||||||
|
The app needs a lot of env vars to run :
|
||||||
|
```
|
||||||
|
SMTP_SERVER_ADDRESS=mail.gandi.net
|
||||||
|
SMTP_SERVER_PORT=465
|
||||||
|
SMTP_SSL=true
|
||||||
|
SMTP_SERVER_USERNAME=nepasrepondre@jean-cloud.org
|
||||||
|
SMTP_SERVER_PASSWORD=B9UZtOnIlJcRzx8mh2jCsPTQujwTr9I6XyiA
|
||||||
|
SMTP_SERVER_SENDER=nepasrepondre@jean-cloud.org
|
||||||
|
MONGODB_HOST=mongodb
|
||||||
|
ADMIN_PASSWORD=test
|
||||||
|
UID=1000
|
||||||
|
```
|
||||||
|
You can store them in a `.env` file. The python app will read it or you can pass it to the docker container with `run` option `--env-file`.
|
Loading…
Reference in New Issue
Block a user