diff options
-rw-r--r-- | css/style.css | 20 | ||||
-rw-r--r-- | default.in | 2 | ||||
-rw-r--r-- | template/edit-user.html | 111 | ||||
-rw-r--r-- | templates/add-alias.html (renamed from template/add-alias.html) | 0 | ||||
-rw-r--r-- | templates/add-list.html (renamed from template/add-list.html) | 0 | ||||
-rw-r--r-- | templates/add-user.html (renamed from template/add-user.html) | 0 | ||||
-rw-r--r-- | templates/edit-alias.html (renamed from template/edit-alias.html) | 0 | ||||
-rw-r--r-- | templates/edit-domain.html (renamed from template/edit-domain.html) | 0 | ||||
-rw-r--r-- | templates/edit-list.html (renamed from template/edit-list.html) | 0 | ||||
-rw-r--r-- | templates/edit-user.html | 329 | ||||
-rw-r--r-- | templates/error.html (renamed from template/error.html) | 0 | ||||
-rw-r--r-- | templates/error_http.html (renamed from template/error_http.html) | 0 | ||||
-rw-r--r-- | templates/list-domains.html (renamed from template/list-domains.html) | 0 | ||||
-rw-r--r-- | templates/list-locals.html (renamed from template/list-locals.html) | 0 | ||||
-rw-r--r-- | templates/login.html (renamed from template/login.html) | 0 |
15 files changed, 348 insertions, 114 deletions
diff --git a/css/style.css b/css/style.css index 1021403..a9090e5 100644 --- a/css/style.css +++ b/css/style.css @@ -22,7 +22,7 @@ body { h1, h2, h3 { margin: 15pt auto 10pt auto; } -span.domain, span.email, span.alias, span.user, span.list { +span.domain, span.email, span.alias, span.user, span.list, span.code { font-family: Inconsolata, "Lucida Console", "Droid Sans Mono", Cousine, monospace; } .errorhttp { @@ -43,7 +43,7 @@ form.loginform { width: 300px; background: #F5F5F5; } -table.loginform { +table.loginform, table.antispam { margin:0 auto 5pt auto; border-collapse:collapse; } @@ -58,6 +58,22 @@ td.label { text-align: right; vertical-align: top; } +table.antispam td.label { + text-align: justify; + vertical-align: middle; + width: 65%; +} +table.antispam td { + text-align: left; + padding: 0 0 0 15pt; + width: 35%; + font-size: 10pt; +} +div.antispam { + font-size: 10pt; + margin:1.5em auto 0 auto; + width: 95%; +} /* Header */ @@ -5,7 +5,7 @@ # Directory for templates -tmpl_path = ./template/ +tmpl_path = ./templates/ # Session configuration diff --git a/template/edit-user.html b/template/edit-user.html deleted file mode 100644 index 7b61a51..0000000 --- a/template/edit-user.html +++ /dev/null @@ -1,111 +0,0 @@ -<!DOCTYPE html> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - <head> - <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> - <title>Edit user <TMPL_VAR NAME=user>@<TMPL_VAR NAME=domain></title> - <link href="/css/style.css" media="all" rel="stylesheet" type="text/css" /> - </head> - <body> - <div id="header"> - <div class="left column"> - <a href="../../">Root</a> / - <a href="../"><TMPL_VAR NAME=domain></a> / - <TMPL_VAR NAME=user> / - </div> - <div class="right column"> - Logged as <a href="<TMPL_VAR NAME=userURI>/?a=edit" - ><TMPL_VAR NAME=user_localpart>@<TMPL_VAR NAME=user_domainpart></a> - | <a href="../../?a=logout">Log out</a> - </div> - <br/> - </div> - <hr/> - - <div id="content"> - <h1>Edit user <span class="user"><TMPL_VAR NAME=user>@<TMPL_VAR NAME=domain></span></h1> - - - <TMPL_IF NAME=newChanges> - <TMPL_IF NAME=error> - <div class="fail">Error: <TMPL_VAR NAME=error></div> - <TMPL_ELSE> - <div class="success">Your changes have succesfully been submitted.</div> - </TMPL_IF> - <TMPL_ELSE> - <br/> - </TMPL_IF> - - <br/> - - <form class="editform" name="editform" method="post" action="?"> - <div class="editform"> - <input type="hidden" name="a" value="edit" /> - - <h4 class="label" id="status">Status</h4> - <select name="isactive"> - <option value="1" <TMPL_IF NAME=isactive>selected="selected"</TMPL_IF>>Active</option> - <option value="0" <TMPL_UNLESS NAME=isactive>selected="selected"</TMPL_UNLESS>>Inactive</option> - </select> - <div class="help"> - <b>Warning</b>: emails are <i>not</i> delivered to inactive entries. - </div> - - <hr/> - - <h4 class="label" id="password">Change password</h4> - - <table class="loginform"> - <tr> - <td class="label">Current password</td> - <td><input type="password" name="oldpw" size="20" /></td> - </tr> - <tr> - <td class="label">New password</td> - <td><input type="password" name="newpw" size="20" /></td> - </tr> - <tr> - <td class="label">Repeat new password</td> - <td><input type="password" name="newpw2" size="20" /></td> - </tr> - </table> - - <div class="help"> - <i>Note</i>: - You need to enter your - (<span class="user"><TMPL_VAR NAME=user_localpart>@<TMPL_VAR NAME=user_domainpart></span>'s) - current password first. - Leave these fields empty if you do not want to change the - password. - </div> - - <hr/> - - <h4 class="label" id="description">Description</h4> - <textarea name="description" cols="50" rows="5" ><TMPL_VAR NAME=description></textarea> - <div class="help"> - An optional description. (HTML tags are allowed.) - </div> - - <hr/> - - <h4 class="label" id="forward">Mail forwarding</h4> - <textarea name="forwards" cols="50" rows="5" ><TMPL_VAR NAME=forwards></textarea> - <div class="help"> - An optional list of destinations (one e-mail address per line) that - will receive mail for - <span class="email"><TMPL_VAR NAME=user>@<TMPL_VAR NAME=domain></span>. - (<i>Note</i>: When not empty, this list cancels delivery to - this user, so do not forget to list - <span class="email"><TMPL_VAR NAME=user>@<TMPL_VAR NAME=domain></span> - here as well if you want this mailbox to be delivered too.) - </div> - <hr/> - <br/> - - <input type="submit" name="cancel" value="Cancel" /> - <input type="submit" name="submit" value="Submit" /> - </div> - </form> - </div> - </body> -</html> diff --git a/template/add-alias.html b/templates/add-alias.html index 3283a59..3283a59 100644 --- a/template/add-alias.html +++ b/templates/add-alias.html diff --git a/template/add-list.html b/templates/add-list.html index 59ca226..59ca226 100644 --- a/template/add-list.html +++ b/templates/add-list.html diff --git a/template/add-user.html b/templates/add-user.html index e46c16a..e46c16a 100644 --- a/template/add-user.html +++ b/templates/add-user.html diff --git a/template/edit-alias.html b/templates/edit-alias.html index 60a7d2b..60a7d2b 100644 --- a/template/edit-alias.html +++ b/templates/edit-alias.html diff --git a/template/edit-domain.html b/templates/edit-domain.html index dbbdf3c..dbbdf3c 100644 --- a/template/edit-domain.html +++ b/templates/edit-domain.html diff --git a/template/edit-list.html b/templates/edit-list.html index 6eeae7c..6eeae7c 100644 --- a/template/edit-list.html +++ b/templates/edit-list.html diff --git a/templates/edit-user.html b/templates/edit-user.html new file mode 100644 index 0000000..1b22d73 --- /dev/null +++ b/templates/edit-user.html @@ -0,0 +1,329 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> + <title>Edit user <TMPL_VAR NAME=user>@<TMPL_VAR NAME=domain></title> + <link href="/css/style.css" media="all" rel="stylesheet" type="text/css" /> + </head> + <body> + <div id="header"> + <div class="left column"> + <a href="../../">Root</a> / + <a href="../"><TMPL_VAR NAME=domain></a> / + <TMPL_VAR NAME=user> / + </div> + <div class="right column"> + Logged as <a href="<TMPL_VAR NAME=userURI>/?a=edit" + ><TMPL_VAR NAME=user_localpart>@<TMPL_VAR NAME=user_domainpart></a> + | <a href="../../?a=logout">Log out</a> + </div> + <br/> + </div> + <hr/> + + <div id="content"> + <h1>Edit user <span class="user"><TMPL_VAR NAME=user>@<TMPL_VAR NAME=domain></span></h1> + + + <TMPL_IF NAME=newChanges> + <TMPL_IF NAME=error> + <div class="fail">Error: <TMPL_VAR NAME=error></div> + <TMPL_ELSE> + <div class="success">Your changes have succesfully been submitted.</div> + </TMPL_IF> + <TMPL_ELSE> + <br/> + </TMPL_IF> + + <br/> + + <form class="editform" name="editform" method="post" action="?"> + <div class="editform"> + <input type="hidden" name="a" value="edit" /> + + <h4 class="label" id="status">Status</h4> + <select name="isactive"> + <option value="1" <TMPL_IF NAME=isactive>selected="selected"</TMPL_IF>>Active</option> + <option value="0" <TMPL_UNLESS NAME=isactive>selected="selected"</TMPL_UNLESS>>Inactive</option> + </select> + <div class="help"> + <b>Warning</b>: emails are <i>not</i> delivered to inactive entries. + </div> + + <hr/> + + <h4 class="label" id="password">Change password</h4> + + <table class="loginform"> + <tr> + <td class="label">Current password</td> + <td><input type="password" name="oldpw" size="20" /></td> + </tr> + <tr> + <td class="label">New password</td> + <td><input type="password" name="newpw" size="20" /></td> + </tr> + <tr> + <td class="label">Repeat new password</td> + <td><input type="password" name="newpw2" size="20" /></td> + </tr> + </table> + + <div class="help"> + <i>Note</i>: + You need to enter your + (<span class="user"><TMPL_VAR NAME=user_localpart>@<TMPL_VAR NAME=user_domainpart></span>'s) + current password first. + Leave these fields empty if you do not want to change the + password. + </div> + + <hr/> + + <h4 class="label" id="description">Description</h4> + <textarea name="description" cols="50" rows="5" ><TMPL_VAR NAME=description></textarea> + <div class="help"> + An optional description. (HTML tags are allowed.) + </div> + + <hr/> + + <h4 class="label" id="forward">Mail forwarding</h4> + <textarea name="forwards" cols="50" rows="5" ><TMPL_VAR NAME=forwards></textarea> + <div class="help"> + An optional list of destinations (one e-mail address per line) that + will receive mail for + <span class="email"><TMPL_VAR NAME=user>@<TMPL_VAR NAME=domain></span>. + (<i>Note</i>: When not empty, this list cancels delivery to + this user, so do not forget to list + <span class="email"><TMPL_VAR NAME=user>@<TMPL_VAR NAME=domain></span> + here as well if you want this mailbox to be delivered too.) + </div> + + <hr/> + + <h4 class="label" id="antispam">Anti-Spam and message filter</h4> + + <table class="antispam"> + <tr> + <td rowspan="5" class="label">Deliver messages marked as + follows, maybe ignoring a discard action below. + <i>Note</i>: Checks are done if a recipient requires it, + so you will be keeping training your filter unless you also + choose to bypass checks.</td> + <td><input type="checkbox" name="amavisVirusLover" /> Virus</td> + </tr> + <tr> + <td><input type="checkbox" name="amavisSpamLover" /> Spam</td> + </tr> + <tr> + <td><input type="checkbox" name="amavisBannedFilesLover" /> Banned files</td> + </tr> + <tr> + <td><input type="checkbox" name="amavisBadHeaderLover" /> Bad headers</td> + </tr> + <tr> + <td><input type="checkbox" name="amavisUncheckedLover" /> Could not check</td> + </tr> + </table> + + <br/> + <table class="antispam"> + <tr> + <td rowspan="4" class="label">Message checks to bypass. + <i>Note</i>: Each check is run as soon as a recipient requires + it, so you also need to check the above if you want to to + guarantee the delivery for multi-recipient messages.</td> + <td><input type="checkbox" name="amavisBypassVirusChecks" /> Virus</td> + </tr> + <tr> + <td><input type="checkbox" name="amavisBypassSpamChecks" /> Spam</td> + </tr> + <tr> + <td><input type="checkbox" name="amavisBypassBannedChecks" /> Banned files</td> + </tr> + <tr> + <td><input type="checkbox" name="amavisBypassHeaderChecks" /> Bad headers</td> + </tr> + </table> + + <br/> + <table class="antispam"> + <tr> + <td class="label">Score at which header tags are added.</td> + <td><input type="text" name="amavisSpamTagLevel" size="10" /> Default: 0.0</td> + </tr> + <tr> + <td class="label">Subject to prepend when score exceeds the above.</td> + <td><input type="text" name="amavisSpamSubjectTag" size="20" /></td> + </tr> + <tr> + <td class="label">Score at which a message is marked as spam.</td> + <td><input type="text" name="amavisSpamTag2Level" size="10" /> Default: 5.0</td> + </tr> + <tr> + <td class="label">Subject to prepend when score exceeds the above.</td> + <td><input type="text" name="amavisSpamSubjectTag2" size="20" /></td> + </tr> + <tr> + <td class="label">Score at which a message is marked as extreme spam.</td> + <td><input type="text" name="amavisSpamTag3Level" size="10" /> Default: 5.0</td> + </tr> + <tr> + <td class="label">Subject to prepend when score exceeds the above.</td> + <td><input type="text" name="amavisSpamSubjectTag3" size="20" /></td> + </tr> + <tr> + <td class="label">Score at which a message bounces back to the + sender.</td> + <td><input type="text" name="amavisSpamKillLevel" size="10" /> Default: 5.0</td> + </tr> + <tr> + <td class="label">Score at which a message is quarantined.</td> + <td><input type="text" name="amavisSpamDsnCutoffLevel" size="10" /> Default: 5.0</td> + </tr> + <tr> + <td class="label">Score at which a message is discarded.</td> + <td><input type="text" name="amavisSpamQuarantineCutoffLevel" size="10" /> Default: 5.0</td> + </tr> + </table> + <div class="help"><i>Notes</i>: Although SpamAssassin's scores range from 0 to + 1000, with a well-trained filter it is unlikely that a clean message + scores more than 5. + + It only makes sense (and is therefore required) to keep the above + scores ordered when defined. + Also, bouncing spam is probably useless, since spammers are + often using forged e-mails; To disable bouncing, set the + quarantine level to the bounce level. + + The following macros can be used in the subject prefixes: + <span class="code">_SCORE_</span> (spam level), + <span class="code">_REQD_</span> (minimum spam level), + <span class="code">_YESNO_</span> (marqued as spam Yes/No), + <span class="code">_YESNOCAPS_</span> (marqued as spam YES/NO), + <span class="code">_HOSTNAME_</span> (hostname), + <span class="code">_DATE_</span> (RFC 2822 date), + <span class="code">_U_</span> (ISO-8601 UTC timestamp), + <span class="code">_LOGID_</span> (internal log ID), and + <span class="code">_MAILID_</span> (message ID). + </div> + + <br/> + <table class="antispam"> + <tr> + <td rowspan="3" class="label">Warn the recipients (you, and + possibly others) for messages marked as follows. This can be + useful for quarantined and/or discarded messages.</td> + <td><input type="checkbox" name="amavisWarnVirusRecip" /> Virus</td> + </tr> + <tr> + <td><input type="checkbox" name="amavisWarnBannedRecip" /> Banned files</td> + </tr> + <tr> + <td><input type="checkbox" name="amavisWarnBadHeaderRecip" /> Bad headers</td> + </tr> + </table> + + <br/> + <table class="antispam"> + <tr> + <td rowspan="7" class="label">An email address where to + forward (aka. quarantine) + messages, depending on how they have been classified. + (<i>Note</i>: The last item is independent of the others, so + a message may be forwarded to two different destinations.)</td> + <td><input type="text" name="amavisVirusQuarantineTo" size="10" /> Virus</td> + </tr> + <tr> + <td><input type="text" name="amavisSpamQuarantineTo" size="10" /> Spam</td> + </tr> + <tr> + <td><input type="text" name="amavisBannedQuarantineTo" size="10" /> Banned files</td> + </tr> + <tr> + <td><input type="text" name="amavisBadHeaderQuarantineTo" size="10" /> Bad headers</td> + </tr> + <tr> + <td><input type="text" name="amavisUncheckedQuarantineTo" size="10" /> Could not check</td> + </tr> + <tr> + <td><input type="text" name="amavisCleanQuarantineTo" size="10" /> Clean</td> + </tr> + <tr> + <td><input type="text" name="amavisArchiveQuarantineTo" size="10" /> <i>All messages</i></td> + </tr> + </table> + + <br/> + <table class="antispam"> + <tr> + <td rowspan="4" class="label">Address extension to be added to + the recipient(s), depending on how the message has been + classified. + (Adding the extension <span class="email">virus</span> to + the recipient <span class="email"><TMPL_VAR NAME=user>@<TMPL_VAR NAME=domain></span> + will result into viruses being sent to + <span class="email"><TMPL_VAR NAME=user>+virus@<TMPL_VAR NAME=domain></span>.)</td> + <td><input type="text" name="amavisAddrExtensionVirus" size="10" /> Virus</td> + </tr> + <tr> + <td><input type="text" name="amavisAddrExtensionSpam" size="10" /> Spam</td> + </tr> + <tr> + <td><input type="text" name="amavisAddrExtensionBanned" size="10" /> Banned files</td> + </tr> + <tr> + <td><input type="text" name="amavisAddrExtensionBadHeader" size="10" /> Bad header</td> + </tr> + </table> + + <br/> + <table class="antispam"> + <tr> + <td rowspan="5" class="label">An email address to which + notifications (reports) are sent, depending on how + messages are classified.</td> + <td><input type="text" name="amavisVirusAdmin" size="10" /> Virus</td> + </tr> + <tr> + <td><input type="text" name="amavisNewVirusAdmin" size="10" /> New virus</td> + </tr> + <tr> + <td><input type="text" name="amavisSpamAdmin" size="10" /> Spam</td> + </tr> + <tr> + <td><input type="text" name="amavisBannedAdmin" size="10" /> Banned files</td> + </tr> + <tr> + <td><input type="text" name="amavisBadHeaderAdmin" size="10" /> Bad header</td> + </tr> + </table> + + <div class="antispam">E-mail addresses (one per line) to + whitelist. Messages from the listed sender will bypass any + check. + (<i>Note</i>: Senders can always be forged!) + <textarea name="amavisWhitelistSender" cols="50" rows="10" ></textarea> + </div> + + <div class="antispam">E-mail addresses (one per line) to + blacklist. Messages from the listed sender will always be marked + as spam. + (<i>Note</i>: Senders can always be forged!) + <textarea name="amavisBlacklistSender" cols="50" rows="10" ></textarea> + </div> + + <div class="antispam">A list (one per line) of filename extensions + (e.g., <span class="code">.exe</span>) to ban. + <textarea name="amavisBannedRuleNames" cols="50" rows="10" ></textarea> + </div> + + <input type="submit" name="cancel" value="Cancel" /> + <input type="submit" name="submit" value="Submit" /> + </div> + + </form> + </div> + </body> +</html> diff --git a/template/error.html b/templates/error.html index 5c1d0f1..5c1d0f1 100644 --- a/template/error.html +++ b/templates/error.html diff --git a/template/error_http.html b/templates/error_http.html index c6ab50a..c6ab50a 100644 --- a/template/error_http.html +++ b/templates/error_http.html diff --git a/template/list-domains.html b/templates/list-domains.html index 5ebdd05..5ebdd05 100644 --- a/template/list-domains.html +++ b/templates/list-domains.html diff --git a/template/list-locals.html b/templates/list-locals.html index 4f21ee8..4f21ee8 100644 --- a/template/list-locals.html +++ b/templates/list-locals.html diff --git a/template/login.html b/templates/login.html index ed10d20..ed10d20 100644 --- a/template/login.html +++ b/templates/login.html |