Spis treści

fetchmail

instalujemy i edytujemy /etc/fetchmailrc uprawnienia 0600

set daemon 60 # sprawdza poczte co minute
set syslog
set postmaster localuser 

poll "mail.przyklad.com" with proto POP3 and options uidl
user "testowy@przyklad.com." is "localuser"
password "password"
keep # nie skasuje zawartosci z serwera
mda "/usr/bin/procmail -d %T"

Edytujemy plik /etc/default/fetchmail

START_DAEMON=yes

dovecot

sudo apt-get install dovecot-common dovecot-imapd

edytujemy plik /etc/dovecot/dovecot.conf

protocols = imap imaps
mail_location = maildir:/backup/poczta/%u
mail_privileged_group = mail
auth default {
  mechanisms = plain
    passdb pam {
    args = *
  }

Abyśmy mogli skorzystać z roundcube i imapproxy musimy zezwolić na lokalne połączenia nieszyfrowane w pliku dovecot.conf edytujemy:

login_trusted_networks = localhost

procmail

sudo apt-get install procmail

edytujemy plik /etc/procmailrc

MAILDIR=/backup/poczta
DEFAULT=$MAILDIR/$LOGNAME/
LOGFILE=/var/log/procmail
VERBOSE=on

Jesli chcemy by poczta z określonej skrzynki trafiała do konkretnego katalogu tworzymy plik w katalogu użytkownika .procmailrc o następującej zawartości na przykładzie alert@grzegorz.org

MAILDIR=/home/grzegorz/poczta
DEFAULT=$MAILDIR/
LOGFILE=/var/log/procmail
LOGABSTRACT=all
VERBOSE=on
:0
* ^TOalert@blue-note.pl
$MAILDIR/.alert@blue-note/

sendmail

Konfigracja sendmaila odbywa się pośrednio poprzez skrypty m4 i pliki sendmail.mc oraz sumbit.mc po każdej zmianie w pliku mc kompilujemy pliki konfiguracyjne komendą make i restartujemy sendmail.

Po zainstalowaniu sendmaila sprawdzamy czy nasłuchuje na porcie 25

netstat -atn | grep 25
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN

Jak widać nasłuchuje ale tylko lokalnie, taka jest domyślna konfiguracja

Zmieiamy to edytując wpis w pliku /etc/mail/sendmail.mc odnajdujemy linię :

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA') 

i zamieniamy na :

DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')

po wydaniu komendy make i restarcie sendmaila sprawdzamy

netstat -atn | grep 25
tcp        0      0 0.0.0.0:25            0.0.0.0:*               LISTEN

w pliku sendmail.conf ustawiamy interface na którym ma nasłuchiwać sendmail czyli np eth0 : Następnie edytujemy plik access do postaci :

localhost.localdomain           RELAY
localhost                       RELAY
127.0.0.1                       RELAY
gcze.eu	        OK

Wpisy te oznaczają że połączenia lokalne mogą przekazywać pocztę a serwer akceptuje pocztę przeznaczoną dla domeny gcze.eu

Na koniec musimy zadbać aby serwer przedstawiał się domeną zgodną z wpisem w revdns a nie z ostname w przeciwnym razie wiele serwerów „podziękuje” nam za współpracę. Dokonamy tego poprzez dodanie wpisu w pliku sendmail.mc o zawartości:

define(`confDOMAIN_NAME',`domena_z_revdns_naszegoip')dnl

Na koniec make i restart sendmaila.

roundcube

Instalujemy roundcube, wcześniej przygotowujemy bazę danych i użytkownika bazy postgresql lub mysql

w katalogu /etc/roundcbe znajduje sie plik apache conf. towrzymy dowiązanie symboliczne katalogu programu /var/lib/roundcube do np /var/www/roundcube

Jeśli chcemy skorzystać z imapproxy musimy skonfigurować roundcube tab by łączył się po porcie 1143 bez ssl czyli jako adres imap ustawiamy imap://localhost Następnie instalujemy imapproxy który już właściwie nie wymaga konfiguracji. Istotne jest by imap w naszym przypadku dovecot pozwalał na lokalne połączenia nieszyfrowane.

Postfixidovecotuwierzytelnianiesmtp

Aby można było korzystać s klientow typu outlook itp serwer smtp powienien rządać uwierzytelniania użytkownika. W przeciwnym razie stałby się maszyną dorozsyłania spamu. Jeśli korzystamy z postfixa i dovecot sprawdzamy czy postfix jest skonfigurowany z obsługą sasl dovecot wydając komendę :

postconf -a

następnie dodajemy do ich konfiguracji następujące linie.

Example dovecot.conf excerpt

auth default {
      mechanisms = plain login
      passdb pam {
      }
      userdb passwd {
      }
      socket listen {
        client {
          # Assuming the default Postfix $queue_directory setting
          path = /var/spool/postfix/private/auth
          mode = 0660
          # Assuming the default Postfix user and group
          user = postfix
          group = postfix
        }
        # deliver and some other programs need also auth-master:
        #master {
        #  path = /var/run/dovecot/auth-master
        #  mode = 0600
        #}
      }
    }

Example Postfix main.cf excerpt

smtpd_sasl_type = dovecot
# Can be an absolute path, or relative to $queue_directory
# Debian/Ubuntu users: Postfix is setup by default to run chrooted, so it is best to leave it as-is below
smtpd_sasl_path = private/auth
# and the common settings to enable SASL:
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

Dla wersji dovecot 2x

Example conf.d/10-master.conf excerpt

service auth {
...
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    # Assuming the default Postfix user and group
    user = postfix
    group = postfix        
  }
  ...
}

Example Postfix main.cf excerpt

smtpd_sasl_type = dovecot

# Can be an absolute path, or relative to $queue_directory
# Debian/Ubuntu users: Postfix is setup by default to run chrooted, so it is best to leave it as-is below
smtpd_sasl_path = private/auth

# and the common settings to enable SASL:
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

Using SASL with Postfix submission port

When Dovecot is used as the authentication backend for Postfix it is good practice to use a dedicated submission port for the MUAs (TCP 587). Not only can you specify individual parameters in master.cf overriding the global ones but you will not run into internet mail rejection while the Dovecot Auth Mechanism is unavailable. In this example Postfix is configured to accept TLS encrypted sessions only, along with several other sanity checks:

Verification of alias ownership via Login Maps Domainname and recipient plausibility

master.cf

submission inet n - - - - smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=private/auth
  -o smtpd_sasl_security_options=noanonymous
  -o smtpd_sasl_local_domain=$myhostname
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o smtpd_sender_login_maps=hash:/etc/postfix/virtual
  -o smtpd_sender_restrictions=reject_sender_login_mismatch
  -o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject

dovecot z obsługą solr

https://extremeshok.com/6622/enabling-apache-solr-4-10-using-jetty-with-dovecot-2-2-for-fulltext-search-results-on-centos-6-iredmail-compatible/