Compare commits
25 Commits
d811cbfbd1
...
master
Author | SHA1 | Date | |
---|---|---|---|
cb9e958d39 | |||
761a3a3b34 | |||
ae06305069 | |||
e50851b519 | |||
c82ff77bbe | |||
f4c7453675 | |||
06914fcade | |||
230ab94ca6 | |||
7cc2369ea0 | |||
4aaeae3b1a | |||
692e76ad1d | |||
6f02a45023 | |||
e971f26c75 | |||
bbc3cf87f1 | |||
195e3f65ee | |||
0270997761 | |||
6e19d1a938 | |||
5a9dcc4b8f | |||
94a1895873 | |||
e00ba6f4ce | |||
845325eac8 | |||
ba20cb36fe | |||
83ad91f77d | |||
3a98ac15f7 | |||
5eebd200f4 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -3,6 +3,7 @@
|
|||||||
*.log
|
*.log
|
||||||
*.swp
|
*.swp
|
||||||
conf/*.conf
|
conf/*.conf
|
||||||
|
conf/*.env
|
||||||
|
|
||||||
# - Postfixadmin
|
# - Postfixadmin
|
||||||
postfixadmin-*
|
postfixadmin-*
|
||||||
|
@ -3,9 +3,15 @@
|
|||||||
## - some litle tests ##
|
## - some litle tests ##
|
||||||
## -------------------------------------- ##
|
## -------------------------------------- ##
|
||||||
|
|
||||||
|
## -
|
||||||
## - test smtp (STARTTLS), submission (587) (STARTTLS), smtp (SSL),
|
## - test smtp (STARTTLS), submission (587) (STARTTLS), smtp (SSL),
|
||||||
## - pop3 (SSL), pop3 (STARTTLS), imap (SSL) and imap (STARTTLS)
|
## - pop3 (SSL), pop3 (STARTTLS), imap (SSL) and imap (STARTTLS)
|
||||||
## -
|
## -
|
||||||
|
|
||||||
|
# ---
|
||||||
|
# test - localhost
|
||||||
|
# ---
|
||||||
|
|
||||||
openssl s_client -crlf -starttls smtp -connect localhost:25 [-state -debug]
|
openssl s_client -crlf -starttls smtp -connect localhost:25 [-state -debug]
|
||||||
openssl s_client -crlf -starttls smtp -connect localhost:587
|
openssl s_client -crlf -starttls smtp -connect localhost:587
|
||||||
openssl s_client -crlf -connect localhost:465
|
openssl s_client -crlf -connect localhost:465
|
||||||
@ -15,9 +21,24 @@ openssl s_client -crlf -connect localhost:993
|
|||||||
openssl s_client -crlf -starttls imap -connect localhost:143
|
openssl s_client -crlf -starttls imap -connect localhost:143
|
||||||
|
|
||||||
|
|
||||||
|
# ---
|
||||||
|
# tests - remote mailserver
|
||||||
|
# ---
|
||||||
|
|
||||||
|
mailserver="mx.gemeinschaft-altenschlirf.de"
|
||||||
|
|
||||||
|
openssl s_client -crlf -starttls smtp -connect ${mailserver}:25 [-state -debug]
|
||||||
|
openssl s_client -crlf -starttls smtp -connect ${mailserver}:587
|
||||||
|
openssl s_client -crlf -connect ${mailserver}:465
|
||||||
|
openssl s_client -crlf -connect ${mailserver}:995
|
||||||
|
openssl s_client -crlf -starttls pop3 -connect ${mailserver}:110
|
||||||
|
openssl s_client -crlf -connect ${mailserver}:993
|
||||||
|
openssl s_client -crlf -starttls imap -connect ${mailserver}:143
|
||||||
|
|
||||||
|
|
||||||
# Test RSA based TLS connection
|
# Test RSA based TLS connection
|
||||||
#
|
#
|
||||||
echo "quit" | openssl s_client -connect a.mx.oopen.de:25 -starttls smtp -tls1_2 -cipher ECDHE-RSA-AES256-GCM-SHA384
|
echo "quit" | openssl s_client -connect ${mailserver}:25 -starttls smtp -tls1_2 -cipher ECDHE-RSA-AES256-GCM-SHA384
|
||||||
|
|
||||||
echo "quit" | openssl s_client -connect a.mx.oopen.de:25 -starttls smtp -tls1_2
|
echo "quit" | openssl s_client -connect ${mailserver}:25 -starttls smtp -tls1_2
|
||||||
echo "quit" | openssl s_client -connect a.mx.oopen.de:25 -starttls smtp
|
echo "quit" | openssl s_client -connect ${mailserver}:25 -starttls smtp
|
61
DOC/dovecot/README.maildir-size-fix.pl
Normal file
61
DOC/dovecot/README.maildir-size-fix.pl
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# ----------
|
||||||
|
# Fix Maildir Size
|
||||||
|
#
|
||||||
|
# falls sich die tatsächliche Größe einer E-mail im Maildir Format
|
||||||
|
# von der Größenangabe im Dateinamen unterscheidet, dann läuft
|
||||||
|
# dovecot auf fehler.
|
||||||
|
#
|
||||||
|
# Es gibt 2 Möglichekeiten das zu verhindern:
|
||||||
|
#
|
||||||
|
# 1. in der dovecot.conf (z.Bsp. in 10-mail.conf deb Parameter
|
||||||
|
# 'maildir_broken_filename_sizes' auf 'yes' setzen
|
||||||
|
#
|
||||||
|
# maildir_broken_filename_sizes = yes
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# 2. Die Größenangaben im Dateinamen korrigieren. Dafür gint es ein Skript
|
||||||
|
# namens 'maildir-size-fix.pl'. Dieses Skript steht bei Githup's
|
||||||
|
# 'dovecot/tools' zur Verfügung:
|
||||||
|
#
|
||||||
|
# https://github.com/dovecot/tools
|
||||||
|
#
|
||||||
|
# Das Perl-Skript maildir-size-fix.pl ist ein Werkzeug, das im Dovecot-Projekt
|
||||||
|
# verwendet wird, um Probleme mit der Größe von Maildir-Dateien zu beheben.
|
||||||
|
#
|
||||||
|
# Nützliche Optionen
|
||||||
|
#
|
||||||
|
# - add_missing_size: Fügt die Größeninformation hinzu, wenn sie fehlt.
|
||||||
|
#
|
||||||
|
# - fix_existing_size: Überprüft und korrigiert bestehende Größeninformationen.
|
||||||
|
#
|
||||||
|
# - recursive: Scannt das Maildir rekursiv, um auch Unterordner zu berücksichtigen.
|
||||||
|
#
|
||||||
|
# - verbose: Ermöglicht detaillierte Protokollierung der Vorgänge.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# ---------------------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Jede E.Mail in einem Maildir Ordner ist eine eigene Datei, dess dateiname üblicherweise
|
||||||
|
# die Größe der datei selbst enthält (..,S=<dateigrösse>,W=..)
|
||||||
|
#
|
||||||
|
# ein typische Datei innerhalb eines Maildirordners sieht so aus:
|
||||||
|
#
|
||||||
|
# 1755713024.M837247P2624513.rage,S=38568,W=39101:2,Sc
|
||||||
|
# | | |
|
||||||
|
# Zeitstempel | Hostname
|
||||||
|
# eind. ID
|
||||||
|
#
|
||||||
|
# S= und ,W=: Dateigröße und "Weighted size" (für IMAP/Quota).
|
||||||
|
#
|
||||||
|
# wobei die flags folgende bedeitung haben:
|
||||||
|
#
|
||||||
|
# +-------+-----------------------------+
|
||||||
|
# | Flag | Bedeutung |
|
||||||
|
# +-------+-----------------------------+
|
||||||
|
# | S | Seen (gelesen) |
|
||||||
|
# | R | Replied (beantwortet) |
|
||||||
|
# | F | Flagged (markiert / wichtig)|
|
||||||
|
# | T | Trashed (zum Löschen mark.) |
|
||||||
|
# | D | Draft (Entwurf) |
|
||||||
|
# | P | Passed (weitergeleitet) |
|
||||||
|
# +-------+-----------------------------+
|
@ -2387,6 +2387,45 @@ virtual_alias_domains =
|
|||||||
btree:/etc/postfix/virtual_alias_domains
|
btree:/etc/postfix/virtual_alias_domains
|
||||||
|
|
||||||
|
|
||||||
|
#======= Postfix DSN Support ============
|
||||||
|
|
||||||
|
#
|
||||||
|
# Use the smtpd_discard_ehlo_keyword_address_maps feature if you wish to allow DSN
|
||||||
|
# requests from trusted clients but not from random strangers
|
||||||
|
#
|
||||||
|
# smtpd_discard_ehlo_keyword_address_maps =
|
||||||
|
# cidr:/etc/postfix/esmtp_access
|
||||||
|
#
|
||||||
|
# /etc/postfix/esmtp_access:
|
||||||
|
# # Allow DSN requests from local subnet only
|
||||||
|
# 192.168.0.0/28 silent-discard
|
||||||
|
# 0.0.0.0/0 silent-discard, dsn
|
||||||
|
# ::/0 silent-discard, dsn
|
||||||
|
#
|
||||||
|
#smtpd_discard_ehlo_keyword_address_maps =
|
||||||
|
|
||||||
|
|
||||||
|
# If you want to disallow all use of DSN requests from the network, use the
|
||||||
|
# smtpd_discard_ehlo_keywords feature:
|
||||||
|
#
|
||||||
|
# /etc/postfix/main.cf:
|
||||||
|
# smtpd_discard_ehlo_keywords = silent-discard, dsn
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# A case insensitive list of EHLO keywords (pipelining, starttls, auth, etc.) that
|
||||||
|
# the Postfix SMTP server will not send in the EHLO response to a remote SMTP client.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Notes:
|
||||||
|
#
|
||||||
|
# Specify the silent-discard pseudo keyword to prevent this action from being logged.
|
||||||
|
#
|
||||||
|
# Use the smtpd_discard_ehlo_keyword_address_maps feature to discard EHLO keywords selectively.
|
||||||
|
#
|
||||||
|
#smtpd_discard_ehlo_keywords = silent-discard, dsn
|
||||||
|
|
||||||
|
|
||||||
#======= Rate Limiting ============
|
#======= Rate Limiting ============
|
||||||
|
|
||||||
# anvil_rate_time_unit (default: 60s)
|
# anvil_rate_time_unit (default: 60s)
|
||||||
|
11117
install_update_dovecot-2.4.sh
Executable file
11117
install_update_dovecot-2.4.sh
Executable file
File diff suppressed because it is too large
Load Diff
@ -287,14 +287,21 @@ dovecot_main_version="$(echo $_version | cut -d '.' -f1,2)"
|
|||||||
dovecot_major_version="$(echo $_version | cut -d '.' -f1)"
|
dovecot_major_version="$(echo $_version | cut -d '.' -f1)"
|
||||||
dovecot_minor_version="$(echo $_version | cut -d '.' -f2)"
|
dovecot_minor_version="$(echo $_version | cut -d '.' -f2)"
|
||||||
dovecot_patch_level="$(echo $_version | cut -d '.' -f3)"
|
dovecot_patch_level="$(echo $_version | cut -d '.' -f3)"
|
||||||
|
dovecot_minor_patch_level="$(echo $_version | cut -d '.' -f4)"
|
||||||
|
|
||||||
|
_version_short="${_version%-*}"
|
||||||
|
|
||||||
#echo ""
|
#echo ""
|
||||||
#echo "_version: $_version"
|
#echo "_version: $_version"
|
||||||
#echo "dovecot_main_version $dovecot_main_version"
|
#echo "dovecot_main_version $dovecot_main_version"
|
||||||
#echo "dovecot_major_version $dovecot_major_version"
|
#echo "dovecot_major_version $dovecot_major_version"
|
||||||
#echo "dovecot_minor_version $dovecot_minor_version"
|
#echo "dovecot_minor_version $dovecot_minor_version"
|
||||||
#echo "dovecot_patch_level $dovecot_patch_level"
|
#echo "dovecot_patch_level $dovecot_patch_level"
|
||||||
|
#echo "dovecot_minor_patch_level $dovecot_minor_patch_level"
|
||||||
#echo ""
|
#echo ""
|
||||||
|
#
|
||||||
|
#clean_up 0
|
||||||
|
|
||||||
|
|
||||||
# 'expire plugin'was rRemoved in version 2.3.14: This plugin is not needed.
|
# 'expire plugin'was rRemoved in version 2.3.14: This plugin is not needed.
|
||||||
# Use mailbox { autoexpunge } Mailbox settings instead.
|
# Use mailbox { autoexpunge } Mailbox settings instead.
|
||||||
@ -710,32 +717,72 @@ fi
|
|||||||
|
|
||||||
## - Download Pigeonhole for Dovecot v2.2
|
## - Download Pigeonhole for Dovecot v2.2
|
||||||
## -
|
## -
|
||||||
echononl "\tDownload dovecot-${dovecot_main_version}-pigeonhole-${_pigeonhole}.tar.gz.."
|
if [[ ${dovecot_major_version} -eq 2 ]] && [[ ${dovecot_minor_version} -lt 4 ]] ; then
|
||||||
if [ ! -f "${_src_base_dir}/dovecot-${dovecot_main_version}-pigeonhole-${_pigeonhole}.tar.gz" ]; then
|
|
||||||
wget --no-check-certificate https://pigeonhole.dovecot.org/releases/${dovecot_main_version}/dovecot-${dovecot_main_version}-pigeonhole-${_pigeonhole}.tar.gz > /dev/null 2>&1
|
echononl "\tDownload dovecot-${dovecot_main_version}-pigeonhole-${_pigeonhole}.tar.gz.."
|
||||||
if [ "$?" = 0 ]; then
|
if [ ! -f "${_src_base_dir}/dovecot-${dovecot_main_version}-pigeonhole-${_pigeonhole}.tar.gz" ]; then
|
||||||
echo -e "$rc_done"
|
wget --no-check-certificate https://pigeonhole.dovecot.org/releases/${dovecot_main_version}/dovecot-${dovecot_main_version}-pigeonhole-${_pigeonhole}.tar.gz > /dev/null 2>&1
|
||||||
|
if [ "$?" = 0 ]; then
|
||||||
|
echo -e "$rc_done"
|
||||||
|
else
|
||||||
|
echo -e "$rc_failed"
|
||||||
|
error "Direct download of 'dovecot-${dovecot_main_version}-pigeonhole-${_pigeonhole}.tar.gz' failed
|
||||||
|
|
||||||
|
Download \033[1mdovecot-${dovecot_main_version}-pigeonhole-${_pigeonhole}.tar.gz\033[m manually
|
||||||
|
and proceed instllation."
|
||||||
|
|
||||||
|
echononl "\tProceed instllation [yes/no]: "
|
||||||
|
read OK
|
||||||
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
||||||
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
||||||
|
echononl "Wrong entry! - repeat [yes/no]: "
|
||||||
|
read OK
|
||||||
|
done
|
||||||
|
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
||||||
|
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo -e "$rc_failed"
|
echo -e "$rc_skipped"
|
||||||
error "Direct download of 'dovecot-${dovecot_main_version}-pigeonhole-${_pigeonhole}.tar.gz' failed
|
|
||||||
|
|
||||||
Download \033[1mdovecot-${dovecot_main_version}-pigeonhole-${_pigeonhole}.tar.gz\033[m manually
|
|
||||||
and proceed instllation."
|
|
||||||
|
|
||||||
echononl "\tProceed instllation [yes/no]: "
|
|
||||||
read OK
|
|
||||||
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
||||||
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
||||||
echononl "Wrong entry! - repeat [yes/no]: "
|
|
||||||
read OK
|
|
||||||
done
|
|
||||||
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
dovecot_pigeonhole_archiv="dovecot-${dovecot_main_version}-pigeonhole-${_pigeonhole}.tar.gz"
|
||||||
|
|
||||||
else
|
else
|
||||||
echo -e "$rc_skipped"
|
|
||||||
|
echononl "\tDownload dovecot-pigeonhole-${_pigeonhole}.tar.gz.."
|
||||||
|
if [ ! -f "${_src_base_dir}/dovecot-pigeonhole-${_pigeonhole}.tar.gz" ]; then
|
||||||
|
wget --no-check-certificate https://pigeonhole.dovecot.org/releases/${dovecot_main_version}/dovecot-pigeonhole-${_pigeonhole}.tar.gz > /dev/null 2>&1
|
||||||
|
if [ "$?" = 0 ]; then
|
||||||
|
echo -e "$rc_done"
|
||||||
|
dovecot_pigeonhole_archiv="dovecot-pigeonhole-${_pigeonhole}.tar.gz"
|
||||||
|
else
|
||||||
|
echo -e "$rc_failed"
|
||||||
|
|
||||||
|
error "Direct download of 'Pigeonhole Sieve and ManageSieve' source archiv failed
|
||||||
|
|
||||||
|
Download Pigeonhole Sieve and ManageSieve manually and name it to
|
||||||
|
|
||||||
|
\033[1mdovecot-pigeonhole-${_pigeonhole}.tar.gz\033[m\n"
|
||||||
|
|
||||||
|
|
||||||
|
echononl "\tProceed instllation [yes/no]: "
|
||||||
|
read OK
|
||||||
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
||||||
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
||||||
|
echononl "Wrong entry! - repeat [yes/no]: "
|
||||||
|
read OK
|
||||||
|
done
|
||||||
|
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -e "$rc_skipped"
|
||||||
|
fi
|
||||||
|
|
||||||
|
dovecot_pigeonhole_archiv="dovecot-pigeonhole-${_pigeonhole}.tar.gz"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
dovecot_pigeonhole_archiv_prefix="${dovecot_pigeonhole_archiv%.tar.gz}"
|
||||||
|
dovecot_pigeonhole_archiv_dir="${dovecot_pigeonhole_archiv%.tar.gz}"
|
||||||
|
|
||||||
|
|
||||||
if $_new ; then
|
if $_new ; then
|
||||||
@ -901,6 +948,7 @@ config_params="
|
|||||||
--prefix=/usr/local/dovecot-${_version} \
|
--prefix=/usr/local/dovecot-${_version} \
|
||||||
--with-${db_driver} \
|
--with-${db_driver} \
|
||||||
--with-gssapi=yes
|
--with-gssapi=yes
|
||||||
|
--with-ldap=yes
|
||||||
--with-rundir=/run/dovecot"
|
--with-rundir=/run/dovecot"
|
||||||
if $systemd_support ; then
|
if $systemd_support ; then
|
||||||
config_params="$config_params \
|
config_params="$config_params \
|
||||||
@ -1055,20 +1103,20 @@ fi
|
|||||||
cd ${_src_base_dir}
|
cd ${_src_base_dir}
|
||||||
echo ""
|
echo ""
|
||||||
echononl "\tExtracting dovecot-${dovecot_main_version}-pigeonhole-${_pigeonhole}.tar.gz.."
|
echononl "\tExtracting dovecot-${dovecot_main_version}-pigeonhole-${_pigeonhole}.tar.gz.."
|
||||||
gunzip < dovecot-${dovecot_main_version}-pigeonhole-${_pigeonhole}.tar.gz | tar -xf -
|
gunzip < ${_src_base_dir}/${dovecot_pigeonhole_archiv} | tar -C ${_src_base_dir} -xf -
|
||||||
if [ "$?" = 0 ]; then
|
if [ "$?" = 0 ]; then
|
||||||
echo -e "$rc_done"
|
echo -e "$rc_done"
|
||||||
else
|
else
|
||||||
echo -e "$rc_failed"
|
echo -e "$rc_failed"
|
||||||
fatal Extracting dovecot-${dovecot_main_version}-pigeonhole-${_pigeonhole}.tar.gz failed
|
fatal Extracting ${dovecot_pigeonhole_archiv} failed
|
||||||
fi
|
fi
|
||||||
cd dovecot-${dovecot_main_version}-pigeonhole-${_pigeonhole}
|
cd ${dovecot_pigeonhole_archiv_dir}
|
||||||
|
|
||||||
|
|
||||||
echononl "\tConfigure Pigeonhole ManageSieve.."
|
echononl "\tConfigure Pigeonhole ManageSieve.."
|
||||||
./configure \
|
./configure \
|
||||||
--prefix=/usr/local/dovecot-${_version} \
|
--prefix=/usr/local/dovecot-${_version} \
|
||||||
--with-dovecot=/usr/local/dovecot-${_version}/lib/dovecot > ${_log_dir}/dovecot-${dovecot_main_version}-pigeonhole-${_pigeonhole}-configure.log 2<&1
|
--with-dovecot=/usr/local/dovecot-${_version}/lib/dovecot > ${_log_dir}/${dovecot_pigeonhole_archiv_prefix}-configure.log 2<&1
|
||||||
if [ "$?" = 0 ]; then
|
if [ "$?" = 0 ]; then
|
||||||
echo -e "$rc_done"
|
echo -e "$rc_done"
|
||||||
else
|
else
|
||||||
@ -1077,7 +1125,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echononl "\tCompile Pigeonhole ManageSieve.."
|
echononl "\tCompile Pigeonhole ManageSieve.."
|
||||||
make > ${_log_dir}/dovecot-${dovecot_main_version}-pigeonhole-${_pigeonhole}-make.log 2<&1
|
make > ${_log_dir}/${dovecot_pigeonhole_archiv_prefix}-make.log 2<&1
|
||||||
if [ "$?" = 0 ]; then
|
if [ "$?" = 0 ]; then
|
||||||
echo -e "$rc_done"
|
echo -e "$rc_done"
|
||||||
else
|
else
|
||||||
@ -1086,7 +1134,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echononl "\tInstall Pigeonhole ManageSieve.."
|
echononl "\tInstall Pigeonhole ManageSieve.."
|
||||||
make install > ${_log_dir}/dovecot-${dovecot_main_version}-pigeonhole-${_pigeonhole}-install.log 2<&1
|
make install > ${_log_dir}/${dovecot_pigeonhole_archiv_prefix}-install.log 2<&1
|
||||||
if [ "$?" = 0 ]; then
|
if [ "$?" = 0 ]; then
|
||||||
echo -e "$rc_done"
|
echo -e "$rc_done"
|
||||||
else
|
else
|
||||||
@ -1095,6 +1143,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## -----------------
|
## -----------------
|
||||||
## --- Configure dovecot services
|
## --- Configure dovecot services
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user