autoreply/README.md
2021-04-30 14:41:47 +02:00

56 lines
2.0 KiB
Markdown

# reply.py, a simple python autoresponder
This program is inteded for use with postfix, or any other MTA that can
forward emails to a program for processing.
## How it works
The program reads a complete email from stdin and responds to it,
maintaining threading information.
The program looks for autoresponses in the `templates` subdirectory.
If the local part of the recipient address matches the name of a template in
that directory, that template is sent in a reply to the sender.
If there is no match, the template `default` is used. If no default template
exists, a failed match will cause an error.
The automatic choice of template can be overridden by specifying a template
on the commandline. If the specified template doesn't exist, the program will
throw an error.
### HTML responses
Optionally, alternative HTML versions of templates may be provided.
In order to use an HTML template, add your HTML content to a template file
with the `.html` suffix. There *must* also be a template file for plaintext
responses (same filename without the suffix).
For example, if there is a `default.html` template file along with `default`,
autoresponses using the `default` template will also include an HTML-formatted
version of the reply. If only `default.html` exists, the program will throw
an error.
## Example usage
In the postfix aliases file, you can trigger this program by using the
pipe operator:
```
someaddress: |"/path/to/reply.py"
anotheraddress: |"/path/to/reply.py sometemplate"
```
In the first case, the program will look for the template `someaddress`. If
that template doesn't exist, it will fall back to the template `default`.
In the second case, the program will look for the template `sometemplate`. An
error will be thrown if that template doesn't exist.
In both cases, if the corresponding `.html` file exists, the response will
include an HTML version of the message as well.
Other MTA:s may have different mechanisms to call external programs.