📖 Introducere
În era serviciilor de email gratuite precum Gmail, Outlook sau Yahoo, de ce ți-ai dori propriul server de email? Răspunsul este simplu: libertate, confidențialitate și control total. Atunci când folosești servicii gratuite, plătești cu datele tale personale care sunt scanate pentru a-ți crea profiluri de advertising.
Un server de email propriu îți oferă:
- Confidențialitate totală - nimeni nu îți scanează emailurile
- Control complet - faci ce vrei cu datele tale
- Adrese nelimitate - poți crea câte conturi dorești
- Costuri reduse - Raspberry Pi consumă doar 2-5W
- Învățare - înțelegi cum funcționează emailul la nivel fundamental
🖥️ Hardware necesar
Pentru un server de email personal, nu ai nevoie de hardware puternic. Un Raspberry Pi este mai mult decât suficient:
- Raspberry Pi 4 sau 5 (recomandat 4GB RAM sau mai mult)
- Card microSD 32GB+ (recomandat card de calitate, clasă A2)
- Alimentator oficial (5V/3A pentru Pi 4, 5V/5A pentru Pi 5)
- Carcasă (recomandat cu ventilatoare pentru răcire)
- Conexiune internet stabilă (recomandat fibră optică)
- IP public static sau serviciu DDNS (ex: No-IP, DuckDNS)
📥 Instalare sistem de bază
Vom folosi Ubuntu Server 22.04 LTS sau Raspberry Pi OS Lite. Ambele funcționează excelent pe Raspberry Pi.
Pas 1: Scrie imaginea pe cardul SD
# Pe Windows: folosește Raspberry Pi Imager sau balenaEtcher # Pe Linux/macOS: sudo dd if=ubuntu-22.04-preinstalled-server-arm64+raspi.img of=/dev/sdX bs=4M status=progress
Pas 2: Configurare inițială
# Conectează-te la Raspberry Pi (user: ubuntu, password: ubuntu) ssh ubuntu@raspberrypi.local # Schimbă parola passwd # Actualizează sistemul sudo apt update && sudo apt upgrade -y # Instalează unelte utile sudo apt install -y curl wget git htop net-tools ufw fail2ban
Pas 3: Setează hostname-ul corect
# Schimbă hostname-ul cu domeniul tău sudo hostnamectl set-hostname mail.domeniu.ro sudo nano /etc/hosts # Adaugă: 127.0.0.1 mail.domeniu.ro
📨 Configurare Postfix (MTA - Mail Transfer Agent)
Postfix este serverul SMTP care va trimite și recepționa emailuri. Este modern, securizat și extrem de configurabil.
# Instalează Postfix sudo apt install -y postfix postfix-mysql # În timpul instalării, selectează "Internet Site" # Nume sistem: mail.domeniu.ro # Verifică instalarea sudo systemctl status postfix
Configurare de bază Postfix
# Editează configurația principală sudo nano /etc/postfix/main.cf # Asigură-te că ai următoarele setări: myhostname = mail.domeniu.ro mydomain = domeniu.ro myorigin = $mydomain inet_interfaces = all inet_protocols = ipv4 mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 home_mailbox = Maildir/ # Restartează Postfix sudo systemctl restart postfix
Testare trimitere email
# Trimite un email de test echo "Test body" | mail -s "Test Subject" utilizator@domeniu.ro # Verifică log-urile sudo tail -f /var/log/mail.log
📬 Configurare Dovecot (IMAP/POP3)
Dovecot permite clienților de email (Outlook, Thunderbird, telefon) să acceseze emailurile stocate pe server.
# Instalează Dovecot sudo apt install -y dovecot-imapd dovecot-pop3d dovecot-lmtpd # Editează configurația principală sudo nano /etc/dovecot/dovecot.conf # Asigură-te că ai: protocols = imap pop3 lmtp # Configurare autentificare sudo nano /etc/dovecot/conf.d/10-auth.conf # Setează: disable_plaintext_auth = yes auth_mechanisms = plain login # Configurare SSL (generăm certificat auto-semnat pentru început) sudo nano /etc/dovecot/conf.d/10-ssl.conf # Setează: ssl = required ssl_cert = </etc/ssl/certs/dovecot.pem ssl_key = </etc/ssl/private/dovecot.pem # Generează certificat sudo doveconf -n | sudo openssl req -new -x509 -nodes -out /etc/ssl/certs/dovecot.pem -keyout /etc/ssl/private/dovecot.pem -days 365 # Restartează Dovecot sudo systemctl restart dovecot
🌐 Configurare DNS (DKIM, SPF, DMARC)
Pentru ca emailurile trimise să nu ajungă în spam, trebuie să configurezi înregistrările DNS corecte.
Înregistrare A
Creează o înregistrare A în DNS-ul domeniului tău:
mail.domeniu.ro. 3600 IN A IP-UL_TĂU_STATIC
Înregistrare MX
domeniu.ro. 3600 IN MX 10 mail.domeniu.ro.
Configurare SPF
domeniu.ro. 3600 IN TXT "v=spf1 mx ~all"
Configurare DKIM
# Instalează opendkim sudo apt install -y opendkim opendkim-tools # Generează chei sudo opendkim-genkey -D /etc/opendkim/keys/ -d domeniu.ro -s mail # Adaugă în DNS înregistrarea din fișierul /etc/opendkim/keys/mail.txt
Configurare DMARC
_dmarc.domeniu.ro. 3600 IN TXT "v=DMARC1; p=quarantine; rua=mailto:admin@domeniu.ro"
🌐 Instalare Roundcube webmail
Roundcube este un client webmail modern, care îți permite să accesezi emailurile din browser.
# Instalează Nginx și PHP sudo apt install -y nginx php-fpm php-mysql php-mbstring php-xml php-curl php-zip php-gd # Descarcă Roundcube cd /var/www sudo wget https://github.com/roundcube/roundcubemail/releases/download/1.6.5/roundcubemail-1.6.5-complete.tar.gz sudo tar xzf roundcubemail-1.6.5-complete.tar.gz sudo mv roundcubemail-1.6.5 roundcube sudo chown -R www-data:www-data roundcube # Configurează Nginx sudo nano /etc/nginx/sites-available/roundcube # Activează site-ul sudo ln -s /etc/nginx/sites-available/roundcube /etc/nginx/sites-enabled/ sudo systemctl reload nginx
Acum poți accesa webmail la https://mail.domeniu.ro și să te autentifici cu utilizatorul și parola create.
🛡️ Securizare server email
Un server de email este o țintă frecventă pentru atacatori. Iată măsuri esențiale de securitate:
1. Configurare firewall
sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow 22/tcp # SSH sudo ufw allow 25/tcp # SMTP sudo ufw allow 587/tcp # SMTP Submission sudo ufw allow 993/tcp # IMAPS sudo ufw allow 443/tcp # Webmail HTTPS sudo ufw enable
2. Fail2ban pentru servicii email
sudo nano /etc/fail2ban/jail.local # Adaugă: [postfix] enabled = true port = smtp,ssmtp filter = postfix logpath = /var/log/mail.log maxretry = 3 [dovecot] enabled = true port = pop3,pop3s,imap,imaps filter = dovecot logpath = /var/log/mail.log maxretry = 3 # Restartează sudo systemctl restart fail2ban
3. Rate limiting în Postfix
# Adaugă în /etc/postfix/main.cf smtpd_client_connection_rate_limit = 10 smtpd_client_message_rate_limit = 30 smtpd_client_recipient_rate_limit = 30 sudo systemctl restart postfix
✅ Concluzie
Ai reușit să-ți configurezi propriul server de email pe Raspberry Pi! Acum ai:
- Server SMTP (Postfix) pentru trimitere/primit emailuri
- Server IMAP/POP3 (Dovecot) pentru acces de pe orice dispozitiv
- Webmail (Roundcube) pentru acces din browser
- Securitate de bază (firewall, fail2ban, SSL)
- Autentificare email (SPF, DKIM, DMARC) pentru livrabilitate
- Configură backup automat pentru emailuri (ex: duplicity)
- Implementează antivirus (ClamAV) pentru scanare atașamente
- Adaugă spam filtering (SpamAssassin sau Rspamd)
- Monitorizează log-urile și configura alerte