How to Import MBOX to Thunderbird
Indholdsfortegnelse:
Dette er det andet indlæg i vores Opsætning og konfiguration af en postserverserie. I dette indlæg viser vi dig, hvordan du installerer og konfigurerer Postfix og Dovecot, de to hovedkomponenter i vores postsystem.
Postfix er en open source mail transfer agent (MTA), en tjeneste, der bruges til at sende og modtage e-mails. Dovecot er en IMAP / POP3-server, og i vores opsætning vil den også håndtere lokal levering og brugergodkendelse.
Denne tutorial blev skrevet til Ubuntu 16.04, men de samme trin med små ændringer skulle fungere på enhver nyere version af Ubuntu.
Forudsætninger
Før du fortsætter med denne tutorial, skal du sørge for, at du er logget ind som bruger med sudo-privilegier.
Installer Postfix og Dovecot
Dovecot-pakker i Ubuntu-standardlager er forældede. For at drage fordel af
imap_sieve
modulet installerer vi Dovecot fra Dovecot-communityopbevaringen.
Føj depot-GPG-nøglen til din nøglering med apt kilder med følgende wget-kommando:
wget -O- https://repo.dovecot.org/DOVECOT-REPO-GPG | sudo apt-key add -
Aktivér Dovecot-communityopbevaringen ved hjælp af følgende kommando:
echo "deb https://repo.dovecot.org/ce-2.3-latest/ubuntu/$(lsb_release -cs) $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/dovecot.list
sudo apt update
sudo debconf-set-selections <<< "postfix postfix/mailname string $(hostname -f)"
sudo debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'"
sudo apt install postfix postfix-mysql dovecot-imapd dovecot-lmtpd dovecot-pop3d dovecot-mysql
Postfix-konfiguration
Vi opsætter Postfix til at bruge virtuelle postkasser og domæner.
Start med at oprette
sql
konfigurationsfiler, som instruerer postfix, hvordan man får adgang til MySQL-databasen, der er oprettet i den første del af denne serie.
sudo mkdir -p /etc/postfix/sql
Åbn din teksteditor og opret følgende filer:
/etc/postfix/sql/mysql_virtual_domains_maps.cf
user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT domain FROM domain WHERE domain='%s' AND active = '1'
/etc/postfix/sql/mysql_virtual_alias_maps.cf
user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT goto FROM alias WHERE address='%s' AND active = '1'
/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf
user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT goto FROM alias, alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('%u', '@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'
/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT goto FROM alias, alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'
/etc/postfix/sql/mysql_virtual_mailbox_maps.cf
user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT maildir FROM mailbox WHERE username='%s' AND active = '1'
/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT maildir FROM mailbox, alias_domain WHERE alias_domain.alias_domain = '%d' and mailbox.username = CONCAT('%u', '@', alias_domain.target_domain) AND mailbox.active = 1 AND alias_domain.active='1'
Når SQL-konfigurationsfilerne er oprettet, skal du opdatere den vigtigste postfix-konfigurationsfil for at inkludere information om de virtuelle domæner, brugere og aliaser, der er gemt i MySQL-databasen.
sudo postconf -e "virtual_mailbox_domains = mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf"
sudo postconf -e "virtual_alias_maps = mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf"
sudo postconf -e "virtual_mailbox_maps = mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf"
Postconf-kommandoen viser de faktiske værdier for konfigurationsparametre, ændrer konfigurationsparameterværdier eller viser andre konfigurationsoplysninger om Postfix-postsystemet.
Den lokale leveringsagent vil levere de indgående e-mails til brugernes postkasser. Kør følgende kommando for at indstille Dovecots LMTP-service som en standard postleveringstransport:
sudo postconf -e "virtual_transport = lmtp:unix:private/dovecot-lmtp"
Indstil TL-parametre ved hjælp af det tidligere genererede Let's Encrypt SSL-certifikat:
sudo postconf -e 'smtp_tls_security_level = may'
sudo postconf -e 'smtpd_tls_security_level = may'
sudo postconf -e 'smtp_tls_note_starttls_offer = yes'
sudo postconf -e 'smtpd_tls_loglevel = 1'
sudo postconf -e 'smtpd_tls_cert_file = /etc/letsencrypt/live/mail.linuxize.com/fullchain.pem'
sudo postconf -e 'smtpd_tls_key_file = /etc/letsencrypt/live/mail.linuxize.com/privkey.pem'
Konfigurer de godkendte SMTP-indstillinger og aflever godkendelse til Dovecot:
sudo postconf -e 'smtpd_sasl_type = dovecot'
sudo postconf -e 'smtpd_sasl_path = private/auth'
sudo postconf -e 'smtpd_sasl_local_domain ='
sudo postconf -e 'smtpd_sasl_security_options = noanonymous'
sudo postconf -e 'broken_sasl_auth_clients = yes'
sudo postconf -e 'smtpd_sasl_auth_enable = yes'
sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination'
Vi bliver også nødt til at redigere Postfix-masterkonfigurationsfilen
master.cf
og aktivere indsendelsesport (
587
) og smtps-port (
465
).
Åbn filen med din tekstredigerer, og tag / kommenter / rediger følgende linjer:
/etc/postfix/master.cf
submission inet n - y - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no -o smtpd_client_restrictions=permit_sasl_authenticated, reject # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated, reject -o milter_macro_daemon_name=ORIGINATING smtps inet n - y - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no -o smtpd_client_restrictions=permit_sasl_authenticated, reject # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated, reject -o milter_macro_daemon_name=ORIGINATING
Genstart postfix-tjenesten for at ændringer kan træde i kraft.
sudo systemctl restart postfix
På dette tidspunkt har du succesrig konfigureret Postfix-tjenesten.
Konfigurer Dovecot
I dette afsnit konfigurerer vi Dovecot til at matche vores opsætning. Sørg for at redigere de linjer, der er fremhævet med gult.
Start med at konfigurere
dovecot-sql.conf.ext
filen, der instruerer Dovecot, hvordan man får adgang til databasen, og hvordan man finder oplysningerne om e-mail-konti.
driver = mysql connect = host=127.0.0.1 dbname=postfixadmin user=postfixadmin password=P4ssvv0rD default_pass_scheme = MD5-CRYPT iterate_query = SELECT username AS user FROM mailbox user_query = SELECT CONCAT('/var/mail/vmail/', maildir) AS home, \ CONCAT('maildir:/var/mail/vmail/', maildir) AS mail, \ 5000 AS uid, 5000 AS gid, CONCAT('*:bytes=', quota) AS quota_rule \ FROM mailbox WHERE username = '%u' AND active = 1 password_query = SELECT username AS user, password FROM mailbox \ WHERE username = '%u' AND active='1'
Glem ikke at bruge de rigtige MySQL-legitimationsoplysninger (dbnavn, bruger og adgangskode).
Rediger derefter
conf.d/10-mail.conf
og rediger følgende variabler:
… mail_location = maildir:/var/mail/vmail/%d/%n… mail_uid = vmail mail_gid = vmail… first_valid_uid = 5000 last_valid_uid = 5000… mail_privileged_group = vmail… mail_plugins = quota…
For at få godkendelsen til at arbejde, skal du åbne
conf.d/10-auth.conf
, redigere følgende linjer og inkludere filen filen filen filen filen
auth-sql.conf.ext
:
… disable_plaintext_auth = yes… auth_mechanisms = plain login… #!include auth-system.conf.ext !include auth-sql.conf.ext…
Åbn
conf.d/10-master.conf
, og rediger den som følger:
… service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode = 0600 user = postfix group = postfix }… }… service auth {… unix_listener auth-userdb { mode = 0600 user = vmail group = vmail }… unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix }… }… service auth-worker { user = vmail }… service dict { unix_listener dict { mode = 0660 user = vmail group = vmail } }…
Åbn
conf.d/10-ssl.conf
og aktiver SSL / TLS.
… ssl = yes… ssl_cert = Make sure you use the correct path to the SSL certificate files.
If you have followed this series from the beginning, you should already have the
fullchain.pem
,
privkey.pem
,
dhparam.pem
files created on your server. For more information about how to create a free Let's encrypt SSL certificate and Diffie–Hellman key check this tutorial.
Thanks to Nevyn for noticing the problem and providing a solution.
… ssl = yes… ssl_cert = Make sure you use the correct path to the SSL certificate files.
If you have followed this series from the beginning, you should already have the
fullchain.pem
,
privkey.pem
,
dhparam.pem
files created on your server. For more information about how to create a free Let's encrypt SSL certificate and Diffie–Hellman key check this tutorial.
Thanks to Nevyn for noticing the problem and providing a solution.
Åbn
conf.d/20-imap.conf
, og aktiver
imap_quota
plugin:
… protocol imap {… mail_plugins = $mail_plugins imap_quota… }…
Åbn
conf.d/20-lmtp.conf
, og rediger den som følger:
… protocol lmtp { postmaster_address = [email protected] mail_plugins = $mail_plugins }…
Definer standardpostkasser i
conf.d/20-lmtp.conf
:
… mailbox Drafts { special_use = \Drafts } mailbox Spam { special_use = \Junk auto = subscribe } mailbox Junk { special_use = \Junk }…
Der er to forskellige typer kvotestørrelser, den ene er indstillet til hele domænet og den anden pr. Brugerpostkasse. I den forrige del af denne serie har vi allerede aktiveret kvotestøtten i PostfixAdmin, hvilket betyder, at kvoteinformationen gemmes i PostfixAdmin-databasen.
Nu skal vi konfigurere Dovecot til at oprette forbindelse til databasen, til at håndtere kvotegrænser og til at køre et script, der sender en mail til brugeren, når brugerens kvote overskrider en specificeret grænse. Åbn det for at åbne
conf.d/90-quota.conf
og ændre den på følgende måde:
plugin { quota = dict:User quota::proxy::sqlquota quota_rule = *:storage=5GB quota_rule2 = Trash:storage=+100M quota_grace = 10%% quota_exceeded_message = Quota exceeded, please contact your system administrator. quota_warning = storage=100%% quota-warning 100 %u quota_warning2 = storage=95%% quota-warning 95 %u quota_warning3 = storage=90%% quota-warning 90 %u quota_warning4 = storage=85%% quota-warning 85 %u } service quota-warning { executable = script /usr/local/bin/quota-warning.sh user = vmail unix_listener quota-warning { group = vmail mode = 0660 user = vmail } } dict { sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext }
Vi skal også fortælle dovecot, hvordan man får adgang til SQL-ordbogen for kvoter. Åbn filen
dovecot-dict-sql.conf.ext
, og rediger følgende linjer:
… connect = host=127.0.0.1 dbname=postfixadmin user=postfixadmin password=P4ssvv0rD… map { pattern = priv/quota/storage table = quota2 username_field = username value_field = bytes } map { pattern = priv/quota/messages table = quota2 username_field = username value_field = messages }… # map { # pattern = shared/expire/$user/$mailbox # table = expires # value_field = expire_stamp # # fields { # username = $user # mailbox = $mailbox # } # }…
Sørg for, at du bruger de rigtige MySQL-legitimationsoplysninger (dbnavn, bruger og adgangskode).
Opret følgende shell-script, der vil sende en e-mail til brugeren, hvis dens kvote overskrider en specificeret grænse:
/usr/local/bin/quota-warning.sh
#!/bin/sh PERCENT=$1 USER=$2 cat << EOF | /usr/lib/dovecot/dovecot-lda -d $USER -o "plugin/quota=dict:User quota::noenforcing:proxy::sqlquota" From: [email protected] Subject: Quota warning Your mailbox is now $PERCENT% full. EOF
Gør scriptet eksekverbart ved at køre følgende
chmod
kommando:
sudo chmod +x /usr/local/bin/quota-warning.sh
Genstart til sidst dovecot-tjenesten for ændringer at træde i kraft.
sudo systemctl restart dovecot
Konklusion
I øjeblikket skulle du have et fuldt funktionelt postsystem. I den næste del af denne serie viser vi dig, hvordan du installerer og integrerer Rspamd.
postserver postfix dovecotDette indlæg er en del af Opsætning og konfiguration af en mailserverserie.
Andre indlæg i denne serie:
• Konfigurer en postserver med PostfixAdmin • Installer og konfigurer Postfix og Dovecot • Installer og integrer Rspamd • Installer og konfigurer Roundcube WebmailKonfigurer og konfigurer Exchange ActiveSync på Windows Phone 7

Denne vejledning fortæller dig, hvordan du konfigurerer Exchange ActiveSync på din Windows Phone 7-enhed, Brug af min Office 365-konto til et eksempel.
Konfigurer og konfigurer Outlook til at arbejde med en indisk sprog email-konto

Lær hvordan du konfigurerer og konfigurerer Outlook, så det arbejder med indiske sprog. Trinnene involverer opsætning af din e-mail-konto ved hjælp af den sædvanlige IMAP-konfiguration.
Installer og konfigurer roundcube webmail

Roundcube er en webbaseret IMAP e-mail-klient med en meget intuitiv og moderne brugergrænseflade skrevet i PHP. Denne tutorial dækker de nødvendige trin til at installere og konfigurere Roundcube Webmail.