postfix + dovecot + mysql sur FreeBSD

Présentation


Je voulais Ă©tudier le serveur de messagerie pendant longtemps, mais mes mains n’ont atteint que maintenant, et je n’ai pas rĂ©ussi Ă  trouver les informations correctes, alors j’ai dĂ©cidĂ© d’écrire une publication aussi dĂ©taillĂ©e que possible. Cette publication traitera non seulement de postfix, dovecot, mysql, postfixadmin, mais aussi de spamassassin, clamav-milter (une version spĂ©ciale de clamav pour les serveurs de messagerie), de postgrey, ainsi que de la possibilitĂ© de transfĂ©rer du spam vers le dossier Spam (dovecot- pigeonhole).

La préparation


Tout d'abord, nous installerons les packages dont vous avez besoin pour travailler (postfix, dovecot et dovecot-pigeonhole doivent ĂȘtre installĂ©s Ă  partir des ports, dovecot-sieve peut ĂȘtre installĂ© Ă  partir des packages, en principe, il existe des versions plus rĂ©centes dans les ports et pour cette raison il peut y avoir incompatibilitĂ© entre dovecot et dovecot- tamis). Installez les packages suivants:

pkg install apache24 php73 mod_php73 php73-extensions php73-mysqli php73-mbstring php73-openssl clamav-milter postgrey spamassassin mysql57-server openssl wget 

AprÚs l'installation, nous mettrons les services nécessaires en autorun:

 #postfix  dovecot  ,       sysrc postfix_enable="YES" sysrc dovecot_enable="YES" sysrc mysql_enable="YES" sysrc apache24_enable="YES" sysrc spamd_flags="-u spamd -H /var/spool/spamd" sysrc spamd_enable="YES" sysrc postgrey_enable="YES" sysrc clamav_clamd_enable="YES" sysrc clamav_milter_enable="YES" sysrc clamav_freshclam_enable="YES" #freshclam        12  sysrc clamav_freshclam_flags="--daemon --checks=12" 

Exécutez les services:

 service apache24 start service mysql-server start #  spamassassin       sa-update sa-compile service sa-spamd start #   clamav   freshclam service clamav-clamd start service clamav-freshclam start service clamav-milter start #  postgrey    (/usr/local/etc/rc.d/postgrey),       ""   4-   ,    : ${postgrey_flags:=--inet=10023}     : : ${postgrey_flags:=--inet=10023 --auto-whitelist-clients=4} service postgrey start 

N'oubliez pas d'ajouter dans httpd.conf les lignes nécessaires pour que php fonctionne dans apache et pour que postfixadmin fonctionne correctement:

 <FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> <IfModule dir_module> DirectoryIndex index.php </IfModule> #         postfixadmin DocumentRoot "/usr/local/www/apache24/data/postfixadmin-3.2/public" 

Ensuite, allez dans le répertoire et téléchargez postfixadmin

 cd /usr/local/www/apache24/data 

Télécharger postfixadmin (au moment de la rédaction, la version actuelle était 3.2)

 wget --no-check-certificate https://sourceforge.net/projects/postfixadmin/files/postfixadmin/postfixadmin-3.2/postfixadmin-3.2.tar.gz 

AprÚs cela, vous devez décompresser l'archive dans ce répertoire et changer le propriétaire du répertoire:

 gzip -d postfixadmin-3.2.tar.gz tar -xvf postfixadmin-3.2.tar chown -R www:www /usr/local/www/apache24/data service apache24 restart 

Ensuite, prĂ©parez la base de donnĂ©es pour postfixadmin, exĂ©cutez le script mysql-secure-installation (le mot de passe que vous crĂ©ez dans ce script devra ĂȘtre crĂ©Ă© dans mysql avec la commande alter user), pour la configuration initiale de mysql, puis entrez mysql, crĂ©ez la base de donnĂ©es et les droits pour elle:

 mysql -p -r alter user 'root'@'localhost' identified by 'password123'; create database postfix; grant all privileges on postfix.* to 'postfix'@'localhost' identified by 'password123'; exit 

Une fois la base de données configurée, vous devez modifier le fichier config.inc.php, dans cet exemple, ce fichier se trouve dans le répertoire /usr/local/www/apache24/data/postfixadmin-3.2/, dans ce fichier, vous devez modifier plusieurs lignes et les apporter à l'esprit, aprÚs avoir modifié les paramÚtres, redémarrez apache, vous devez également créer le répertoire templates_c dans le répertoire /usr/local/www/apache24/data/postfixadmin-3.2 et lui affecter le propriétaire www:

 mkdir /usr/local/www/apache24/data/postfixadmin-3.2/templates_c chown -R www:www /usr/local/www/apache24/data/postfixadmin-3.2/templates_c $CONF['configured'] = true #       postfixadmin     . $CONF['setup_password'] = 'dd28fb2139a3bca426f02f60e6877fd5:13d2703c477b0ab85858e3ac5e076a0a7a477315'; $CONF['default_language'] = 'ru' $CONF['database_type'] = 'mysqli'; $CONF['database_host'] = 'localhost'; $CONF['database_user'] = 'postfix'; #           $CONF['database_password'] = 'password123'; $CONF['database_name'] = 'postfix'; service apache24 restart 

SSL


Pour générer la clé, nous utiliserons la méthode proposée sur le site postfix.org, avec la création de notre propre autorité de certification, nous devons aller dans le répertoire / etc / ssl et exécuter le script:

 cd /etc/ssl /usr/local/openssl/misc/CA.pl -newca 

Pendant l'exécution du script, un nom pour le certificat sera demandé, n'entrez rien, appuyez sur Entrée, puis le script vous demandera de créer un mot de passe pour le certificat, puis il y aura des questions standard pour créer un certificat.

Ensuite, vous devez crĂ©er une clĂ© secrĂšte (sans mot de passe) et un certificat de clĂ© publique non signĂ© (le nom de l'unitĂ© organisationnelle (par exemple, la section) [] doit ĂȘtre diffĂ©rent de ce qui est spĂ©cifiĂ© dans le certificat crĂ©Ă© ci-dessus):

 openssl req -new -newkey rsa:4096 -nodes -keyout foo-key.pem -out foo-req.pem 

Nous signerons le certificat de clé publique (spécifiez le nombre de jours dont vous avez besoin):

 openssl ca -out foo-cert.pem -days 365 -infiles foo-req.pem 

Laissez les certificats créés dans ce répertoire, ou transférez-les dans le répertoire qui vous convient le mieux, les configurations «postfix» et «pigeonnier» seront configurées en tenant compte du fait que les certificats seront dans ce répertoire.

Utilisateur Vmail


Avant d'installer postfix, dovecot et dovecot-pigeonhole, nous allons crĂ©er un utilisateur et un groupe (un groupe sera crĂ©Ă© automatiquement) vmail, ainsi que le rĂ©pertoire oĂč le mail sera situĂ©.

 pw useradd -n vmail -s /usr/sbin/nologin -u 1000 -d /var/vmail 

Créez un répertoire pour le courrier et définissez le propriétaire de l'utilisateur vmail:

 mkdir /var/vmail chown -R vmail:vmail /var/vmail chmod -R 744 /var/vmail 

Postfix, pigeonnier, pigeonnier-pigeonhole


Comme je l'ai écrit plus tÎt, nous allons assembler les données d'application à partir des ports, exécuter la commande pour télécharger et décompresser les ports:

 portsnap fetch extract 

AprÚs avoir déballé les ports, allez dans le répertoire dovecot, configurez le port (notez le support pour mysql) et lancez la construction (BATCH = yes dira à make de ne pas poser de questions lors de l'installation):

 cd /usr/ports/mail/dovecot make config make BATCH=yes install clean 

Faites de mĂȘme avec Postfix et pigeonnier

pigeonnier-pigeonnier:

 cd /usr/ports/mail/dovecot-pigeonhole make BATCH=yes install clean 

postfix: vérifiez également le support mysql dans les paramÚtres du port

 cd /usr/ports/mail/postfix-sasl make config make BATCH=yes install clean 

Avant de lancer pigeonnier, copiez les «configs»:

  cp -R /usr/local/etc/dovecot/example-config/* /usr/local/etc/dovecot 

AprÚs avoir installé postfix et dovecot, démarrez les services:

 service postfix start service dovecot start 

Il est également nécessaire de créer un répertoire dans lequel le module d'envoi de spam vers le dossier spam sera compilé, dans mon cas ce répertoire est situé dans le dossier /usr/local/etc/dovecot/conf.d, le nom du répertoire est def, créez ce répertoire et un fichier avec le code pour la compilation et définissez le propriétaire du répertoire utilisateur vmail donné:

 mkdir /usr/local/etc/dovecot/conf.d/def touch /usr/local/etc/dovecot/conf.d/def/default.sieve chown -R vmail:vmail /usr/local/etc/dovecot/conf.d/def chmod -R 744 /usr/local/etc/dovecot/conf.d/def 

Placez les lignes dans ce fichier:

 require "fileinto"; if header :contains "X-Spam-Flag" "YES" { fileinto "Junk"; } 

Configurations


Dans cette section, je donnerai des exemples de «configs» avec des commentaires, je doute seulement de la «config» de spamassassin, car je n'ai pas trouvé les descriptions correctes sur le réseau (j'ai laissé la «config» par défaut), veuillez ajouter dans les commentaires la meilleure façon de configurer spamassassin.

Postfix


Tout d'abord, vous devez créer des fichiers pour extraire les utilisateurs, les domaines et les quotas de la base de données. Créez un répertoire pour stocker les fichiers de données et les fichiers nécessaires:

 mkdir /usr/local/etc/postfix/mysql touch /usr/local/etc/postfix/mysql/relay_domains.cf touch /usr/local/etc/postfix/mysql/virtual_alias_maps.cf touch /usr/local/etc/postfix/mysql/virtual_alias_domain_maps.cf touch /usr/local/etc/postfix/mysql/virtual_mailbox_maps.cf 

Le contenu de ces fichiers sera:
relay_domains.cf

 hosts = 127.0.0.1 user = postfix password = password123 dbname = postfix query = SELECT domain FROM domain WHERE domain='%s' and backupmx = '1' 

virtual_alias_maps.cf

 hosts = 127.0.0.1 user = postfix password = password123 dbname = postfix query = SELECT goto FROM alias WHERE address='%s' AND active ='1' 

virtual_alias_domain_maps.cf

 hosts = 127.0.0.1 user = postfix password = password123 dbname = postfix 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' 

virtual_mailbox_maps.cf

 hosts = 127.0.0.1 user = postfix password = password123 dbname = postfix query = SELECT maildir FROM mailbox WHERE username='%s' AND active = '1' 

master.cf

 # postfix  ,    dovecot    dovecot unix - nn - - pipe flags=DRhu user=vmail:vmail argv=/usr/local/libexec/dovecot/deliver -f ${sender} -d ${recipient} #  smtpd     sasl,    ,  spamassassin    smtp inet n - n - - smtpd -o content_filter=spamassassin -o smtpd_sasl_auth_enable=yes #  587     sasl submission inet n - n - - smtpd -o smtpd_sasl_auth_enable=yes #  smtp    SASL smtps inet n - n - - smtpd -o smtpd_sasl_auth_enable=yes -o smtpd_tls_wrappermode=yes # Spamassassin spamassassin unix - nn - - pipe flags=DROhu user=vmail:vmail argv=/usr/local/bin/spamc -f -e /usr/local/libexec/dovecot/deliver -f ${sender} -d ${user}@${nexthop} #628 inet n - n - - qmqpd pickup unix n - n 60 1 pickup cleanup unix n - n - 0 cleanup qmgr unix n - n 300 1 qmgr #qmgr unix n - n 300 1 oqmgr tlsmgr unix - - n 1000? 1 tlsmgr rewrite unix - - n - - trivial-rewrite bounce unix - - n - 0 bounce defer unix - - n - 0 bounce trace unix - - n - 0 bounce verify unix - - n - 1 verify flush unix n - n 1000? 0 flush proxymap unix - - n - - proxymap proxywrite unix - - n - 1 proxymap smtp unix - - n - - smtp relay unix - - n - - smtp -o syslog_name=postfix/$service_name # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 showq unix n - n - - showq error unix - - n - - error retry unix - - n - - error discard unix - - n - - discard local unix - nn - - local virtual unix - nn - - virtual lmtp unix - - n - - lmtp anvil unix - - n - 1 anvil scache unix - - n - 1 scache postlog unix-dgram n - n - 1 postlogd 

main.cf

 #       dovecot,       local_transport = dovecot #      ,  SMTP-      EHLO  SMTP  smtpd_discard_ehlo_keywords = CONNECT GET POST #            smtpd_delay_reject = yes #     smtpd_helo_required = yes #     ,   disable_vrfy_command = yes #       broken_sasl_auth_clients = yes #   smtpd_sasl_security_options = noanonymous noactive nodictionary smtp_sasl_security_options = noanonymous noactive nodictionary # dovecot  (  cyrus) smtpd_sasl_type = dovecot smtp_sasl_type = dovecot #    smtpd_sasl_path = private/auth #   local_recipient_maps = $virtual_mailbox_maps $virtual_alias_maps #   ,    smtpd_reject_unlisted_recipient = yes #   message_size_limit = 10485760 #     spamassassin spamassassin_destination_recipient_limit = 1 # milter_default_action = accept milter_protocol = 2 #   clamav smtpd_milters = unix:/var/run/clamav/clmilter.sock non_smtpd_milters = unix:/var/run/clamav/clmilter.sock #MYSQL relay_domains = mysql:/usr/local/etc/postfix/mysql/relay_domains.cf virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql/virtual_alias_maps.cf, mysql:/usr/local/etc/postfix/mysql/virtual_alias_domain_maps.cf virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysql/virtual_mailbox_maps.cf # HELO smtpd_helo_restrictions = permit_sasl_authenticated, reject_non_fqdn_helo_hostname, reject_invalid_hostname #    smtpd_data_restrictions = permit_sasl_authenticated reject_unauth_pipelining, reject_multi_recipient_bounce #   smtpd_sender_restrictions = permit_sasl_authenticated reject_sender_login_mismatch,reject_unauthenticated_sender_login_mismatch, reject_non_fqdn_sender, reject_unknown_sender_domain #  (check_policy_service inet:127.0.0.1:10023  postgrey -      ) smtpd_recipient_restrictions = permit_sasl_authenticated reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_multi_recipient_bounce, reject_unknown_client_hostname, reject_unauth_destination, check_policy_service inet:127.0.0.1:10023 #   virtual_mailbox_base = /var/vmail #uid  gid vmail virtual_minimum_uid = 1000 virtual_uid_maps = static:1000 virtual_gid_maps = static:1000 #   virtual_transport = devecot dovecot_destination_recipient_limit = 1 #  smtp_use_tls=yes smtp_tls_note_starttls_offer=yes # smtp_tls_security_level=encrypt       ssl,        ssl,    smtp_tls_security_level=may(    ssl,     ) smtp_tls_security_level=encrypt smtp_tls_session_cache_database=btree:$data_directory/smtp_tls_session_cache smtp_tls_CAfile=/etc/ssl/demoCA/cacert.pem smtp_tls_key_file=/etc/ssl/foo-key.pem smtp_tls_cert_file=/etc/ssl/foo-cert.pem smtp_tls_session_cache_timeout=3600s smtp_tls_protocols=!TLSv1.2 smtp_tls_loglevel=1 # smtpd_tls_security_level=encrypt       ssl,        ssl,    smtpd_tls_security_level=may(    ssl,     ) smtpd_tls_security_level=encrypt smtpd_use_tls=yes smtpd_tls_auth_only=yes smtpd_tls_loglevel=1 smtpd_tls_received_header=yes smtpd_tls_session_cache_timeout=3600s smtpd_tls_session_cache_database=btree:$data_directory/smtpd_tls_session_cache smtpd_tls_key_file=/etc/ssl/foo-key.pem smtpd_tls_cert_file=/etc/ssl/foo-cert.pem smtpd_tls_CAfile= /etc/ssl/demoCA/cacert.pem smtpd_tls_protocols=!TLSv1.2 #      tls_random_source=dev:/dev/urandom #  compatibility_level = 2 #   ,    ,      ,    soft_bounce = no #   UNIX       postfix mail_owner = postfix #     postfix(        ) myhostname = $mydomain #       mydomain = virusslayer.su myorigin = $myhostname #    inet_interfaces = all #        mydestination = $mydomain, localhost, localhost.$mydomain #   550         unknown_local_recipient_reject_code = 550 #    localhost mynetworks_style = host #       , -         mynetworks = #  ip inet_protocols = ipv4 #  (   ) alias_maps = hash:/etc/mail/aliases alias_database = dbm:/etc/mail/aliases.db #          smtpd_banner = $myhostname ESMTP $mail_name #       debug_peer_level = 2 #      (   ,    yandex.ru gmail.ru mail.ru  ..) debug_peer_list = 127.0.0.1 #   debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 #  sendmail sendmail_path = /usr/local/sbin/sendmail mailq_path = /usr/local/bin/mailq setgid_group = maildrop #    html_directory = /usr/local/share/doc/postfix manpage_directory = /usr/local/man sample_directory = /usr/local/etc/postfix readme_directory = /usr/local/share/doc/postfix meta_directory = /usr/local/libexec/postfix shlib_directory = /usr/local/lib/postfix queue_directory = /var/spool/postfix command_directory = /usr/local/sbin daemon_directory = /usr/local/libexec/postfix data_directory = /var/db/postfix 

Docot


dovecot.conf

 #     dovecot protocols = imap pop3 #    listen = *, :: #        mysql dict { quota = mysql:/usr/local/etc/dovecot/dovecot-dict-sql.conf.ext } #   !include conf.d/*.conf !include_try local.conf 

dovecot-dict-sql.conf.ext

 connect = host=127.0.0.1 dbname=postfix user=postfix password=password123 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 } 

dovecot-sql.conf.ext

 #    MYSQL driver = mysql connect = host=127.0.0.1 dbname=postfix user=postfix password=password123 #     default_pass_scheme = MD5 #  ,    user_query = SELECT '/var/mail/%d/%n/' AS home, 'maildir:/var/vmail/%d/%n' AS mail, 1000 AS uid, 1000 AS gid, concat('*:bytes=',quota) as quota_rule FROM mailbox \ WHERE username ='%u' AND active = '1' password_query = SELECT username as user, password, '/var/vmail/%d/%n' as userdb_home, 'maildir:/var/vmail/%d/%n' as userdb_mail, 1000 as userdb_uid, \ 1000 as userdb_gid, concat('*:bytes=',quota) AS userdb_quota_rule FROM mailbox WHERE username ='%u' AND active ='1' 

10-auth.conf

 #   SSL disable_plaintext_auth = yes #   auth_realms = virusslayer.su auth_default_realm = virusslayer.su #    ( ,         ssl) auth_mechanisms = plain login #   ,  !include auth-sql.conf.ext,        mysql #!include auth-deny.conf.ext #!include auth-master.conf.ext #!include auth-system.conf.ext !include auth-sql.conf.ext #!include auth-ldap.conf.ext #!include auth-passwdfile.conf.ext #!include auth-checkpassword.conf.ext #!include auth-vpopmail.conf.ext #!include auth-static.conf.ext 

10-mail.conf

 #    mail_location = maildir:/var/vmail/%d/%n #       namespace inbox { inbox = yes } #uid  gid vmail mail_uid = 1000 mail_gid = 1000 # ,    quota mail_plugins = quota 

10-master.conf

 #     ssl service imap-login { inet_listener imap { port = 143 } inet_listener imaps { port = 993 ssl = yes } } service pop3-login { inet_listener pop3 { port = 110 } inet_listener pop3s { port = 995 ssl = yes } } service submission-login { inet_listener submission { port = 587 } } #           (   ,       ) service auth { unix_listener auth-userdb { mode = 0600 user = vmail group = vmail } # Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix } } #  vmail   service dict { unix_listener dict { mode = 0660 user = vmail group = vmail } } 

10-ssl.conf

 # ssl  (    sll  ) ssl = required #   ssl_cert = </etc/ssl/foo-cert.pem ssl_key = </etc/ssl/foo-key.pem ssl_ca = </etc/ssl/demoCA/cacert.pem #    ssl_min_protocol = TLSv1.2 

15-lda.conf

 quota_full_tempfail = no lda_mailbox_autosubscribe = yes protocol lda { #      sieve,        mail_plugins = $mail_plugins sieve quota } 

90-plugin.conf

 #             "",       chown -R vmail:vmail #          "" plugin { #setting_name = value sieve = /usr/local/etc/dovecot/conf.d/def/default.sieve } 

auth-sql.conf.ext

 #      MYSQL passdb { driver = sql # Path for SQL configuration file, see example-config/dovecot-sql.conf.ext args = /usr/local/etc/dovecot/dovecot-sql.conf.ext } userdb { driver = sql args = /usr/local/etc/dovecot/dovecot-sql.conf.ext } 

Spamassassin


Le spamassassin "config" ressemble à ceci, mais quelque chose me dit que les données ne sont pas suffisantes, veuillez aider avec les données dans la "config":

local.cf

 rewrite_header Subject *****SPAM***** report_safe 0 required_score 5.0 use_bayes 1 bayes_auto_learn 1 ifplugin Mail::SpamAssassin::Plugin::Shortcircuit endif # Mail::SpamAssassin::Plugin::Shortcircuit 

Il est également nécessaire de suivre une formation sur les lettres avec et sans spam:

 sa-learn --spam /path/spam/folder sa-learn --ham /path/ham/folder 

En option


Dans cette section, je vais spécifier les paramÚtres du pare-feu basés sur pf, ajouter pf à l'exécution automatique et spécifier le fichier avec les rÚgles:

 sysrc pf_enable="YES" sysrc pf_rules="/etc/0.pf" 

Créez un fichier avec les rÚgles:

 ee /etc/0.pf 

Et ajoutez-y les rĂšgles:

 # (   lo0)    ,     set skip on lo0 #      deovecot, postfix, root pass in quick proto { tcp, udp } from any to any port {53,25,465,587,110,143,993,995} user {dovecot,postfix,root} flags S/SA modulate state pass out quick proto { tcp, udp } from any to any port {53,25,465,587,110,143,993,995} user {dovecot,postfix,root} #      root pass out quick proto {tcp,udp} from any to any user root #     pass in quick proto tcp from any to any port 80 flags S/SA modulate state #SSH pass in quick proto tcp from any to any port 22 flags S/SA modulate state #     clamav  spamd pass out quick proto {tcp,udp} from any to any user {clamav,spamd} #DNS  ICMP pass out quick proto {tcp,udp} from any to any port=53 keep state pass out quick proto icmp from any to any block from any to any fragment block from any to any block all 

Vous pouvez exécuter pf avec la commande:

 service pf start 

Test


Pour tester toutes les connexions possibles (STARTTLS, SLL), vous pouvez utiliser le client MyOffice Mail pour les appareils mobiles (dans mon cas pour ios), dans cette application, il existe de nombreux paramĂštres pour configurer les connexions au serveur de messagerie.

Pour tester le spaassasin, nous utilisons la signature GTUBE, ajoutez la ligne dans le message:

 XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X 

Si tout est correct, le message sera marqué avec du spam et déplacé en conséquence dans le dossier spam.

Pour tester l'antivirus, vous devez envoyer un email avec un fichier texte, dans ce fichier il y aura une séquence EICAR:

 X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* 

Les lettres doivent naturellement ĂȘtre envoyĂ©es Ă  partir de boĂźtes aux lettres externes.
Pour afficher les journaux en temps réel, exécutez:

 tail -f /var/log/maillog 

De plus, pour tester correctement l'envoi de courrier vers des boßtes aux lettres externes (par exemple, yandex.ru, mail.ru, gmail.com, etc.), vous devez enregistrer la zone DNS inversée (enregistrement PTR), vous pouvez le faire en contactant votre fournisseur (si vous n'avez certainement pas votre propre serveur DNS).

Conclusion


Il peut certainement sembler que le serveur de messagerie est quelque chose de plutÎt compliqué, mais si vous le comprenez, ce n'est pas du tout comme cela, aprÚs avoir passé un peu de temps sur la configuration, vous pouvez obtenir un serveur de messagerie plutÎt fonctionnel, avec une protection contre le spam et les virus.

PS Si vous prévoyez de «copier-coller» avec des commentaires, vous devez ajouter l'utilisateur root (et ceux qui en ont besoin) aux journaux de classe russes:

 pw usermod root -L russian 

AprÚs ces actions, les caractÚres russes seront affichés correctement.

Source: https://habr.com/ru/post/fr476148/


All Articles