J'envoie un e-mail depuis Postfix, mais l'e-mail n'atteint pas Outlook.com dans Office 365, Parce que c'était une erreur Envoyer à Formulaire de demande d'annulation Nécessaire dans le processus de retard du courrier, J'écrirai la méthode de la création d'un serveur de messagerie à la création d'un compte afin que vous puissiez recevoir du courrier.
Liste des sites auxquels j'ai fait référence Créer un serveur de messagerie dans l'environnement CentOS 7 Procédure de construction du serveur de messagerie (Postfix / Dovecot) Remarques que même les débutants peuvent faire [Construction du serveur de messagerie (Postfix + Dovecot)] (https://centossrv.com/postfix.shtml) [Enregistrement du compte d'utilisateur de messagerie n ° 2] (https://www.server-world.info/query?os=CentOS_7&p=mail&f=10)
Version CentOS Linux version 7.3.1611 (Core)
■ Installation de Postfix
[root@centos ~]# yum -y installer postfix ← Installation de Postfix
■ Paramètres de Postfix (1) Paramètres Postfix
[root@centos ~]# vi /etc/postfix/main.cf ← Modifier le fichier de paramétrage de Postfix
# INTERNET HOST AND DOMAIN NAMES
#
# The myhostname parameter specifies the internet hostname of this
# mail system. The default is to use the fully-qualified domain name
# from gethostname(). $myhostname is used as a default value for many
# other configuration parameters.
#
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
myhostname = mail.centossrv.com ← ajouté(Spécifiez votre propre nom FQDN)
# The mydomain parameter specifies the local internet domain name.
# The default is to use $myhostname minus the first component.
# $mydomain is used as a default value for many other configuration
# parameters.
#
#mydomain = domain.tld
mydomain = centossrv.com ← ajouté(Spécifiez votre nom de domaine)
# SENDING MAIL
#
# The myorigin parameter specifies the domain that locally-posted
# mail appears to come from. The default is to append $myhostname,
# which is fine for small sites. If you run a domain with multiple
# machines, you should (1) change this to $mydomain and (2) set up
# a domain-wide alias database that aliases each user to
# [email protected].
#
# For the sake of consistency between sender and recipient addresses,
# myorigin also specifies the default domain name that is appended
# to recipient addresses that have no @domain part.
#
#myorigin = $myhostname
#myorigin = $mydomain
myorigin = $mydomain ← ajouté(Adresse e-mail de l'expéditeur lors de l'envoi d'un e-mail local@Ajouter le nom de domaine après)
# The inet_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on. By default,
# the software claims all active interfaces on the machine. The
# parameter also controls delivery of mail to user@[ip.address].
#
# See also the proxy_interfaces parameter, for network addresses that
# are forwarded to us via a proxy or network address translator.
#
# Note: you need to stop/start Postfix when this parameter changes.
#
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
inet_interfaces = localhost
↓
inet_interfaces =tout ← changer(Autoriser la réception d'e-mails de l'extérieur)
# The mydestination parameter specifies the list of domains that this# machine considers itself the final destination for.
#
# These domains are routed to the delivery agent specified with the
# local_transport parameter setting. By default, that is the UNIX
# compatible delivery agent that lookups all recipients in /etc/passwd
# and /etc/aliases or their equivalent.
#
# The default is $myhostname + localhost.$mydomain. On a mail domain
# gateway, you should also include $mydomain.
#
# Do not specify the names of virtual domains - those domains are
# specified elsewhere (see VIRTUAL_README).
#
# Do not specify the names of domains that this machine is backup MX
# host for. Specify those names via the relay_domains settings for
# the SMTP server, or use permit_mx_backup if you are lazy (see
# STANDARD_CONFIGURATION_README).
#
# The local machine is always the final destination for mail addressed
# to user@[the.net.work.address] of an interface that the mail system
# receives mail on (see the inet_interfaces parameter).
#
# Specify a list of host or domain names, /file/name or type:table
# patterns, separated by commas and/or whitespace. A /file/name
# pattern is replaced by its contents; a type:table is matched when
# a name matches a lookup key (the right-hand side is ignored).
# Continue long lines by starting the next line with whitespace.
#
# See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS".
#
mydestination = $myhostname, localhost.$mydomain, localhost
↓
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain ← changer(Permettez de recevoir des courriers adressés à votre domaine)
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
# mail.$mydomain, www.$mydomain, ftp.$mydomain
# DELIVERY TO MAILBOX
#
# The home_mailbox parameter specifies the optional pathname of a
# mailbox file relative to a user's home directory. The default
# mailbox file is /var/spool/mail/user or /var/mail/user. Specify
# "Maildir/" for qmail-style delivery (the / is required).
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/
home_mailbox = Maildir/← Ajout(Changez le format de stockage du courrier au format Maildir)
# SHOW SOFTWARE VERSION OR NOT
#
# The smtpd_banner parameter specifies the text that follows the 220
# code in the SMTP server's greeting banner. Some people like to see
# the mail version advertised. By default, Postfix shows no version.
#
# You MUST specify $myhostname at the start of the text. That is an
# RFC requirement. Postfix itself does not care.
#
#smtpd_banner = $myhostname ESMTP $mail_name
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
smtpd_banner = $mon nom d'hôte ESMTP inconnu ← ajouté(Masquage du nom du logiciel du serveur de messagerie)
Ajoutez ce qui suit à la dernière ligne(Paramètres d'authentification SMTP)
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
Ajoutez ce qui suit à la dernière ligne(Limite de taille des e-mails entrants)
message_size_limit =10485760 ← ajouté(Taille du courrier reçu 10 Mo=10*1024*Limité à 1024)
[root@centos ~]# vi /etc/postfix/master.cf ← master.cf modifier
submission inet n - n - -smtpd ← au début de la ligne#Supprimer et décommenter(Port de soumission activé)
# -o syslog_name=postfix/submission
# -o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=oui ← au début de la ligne#Supprimer et décommenter(Activer l'authentification SMTP sur le port SUBMISSION)
(2) Paramètres d'authentification SMTP Lors de l'utilisation du nom d'utilisateur et du mot de passe du système pour l'authentification SMTP
[root@centos ~]# yum -y install cyrus-sasl ← cyrus-installation sasl
[root@centos ~]#systemctl démarrer saslauthd ← démarrer saslauthd
[root@centos ~]#systemctl enable saslauthd ← saslauthd paramètre de démarrage automatique
# vim /etc/sasl2/smtpd.conf
Changé de saslauthd à auxprop
pwcheck_method: auxprop
mech_list: plain login
(3) Créer une boîte aux lettres au format Maildir Le format de stockage de courrier de Postfix est un format de répertoire partagé (un format dans lequel tout le courrier est stocké dans un fichier appelé "/ var / spool / mail / nom d'utilisateur"), mais il sera déplacé vers le format Maildir du point de vue de l'amélioration des performances d'accès et de la sécurité. ..
[Nouvelle gestion des utilisateurs] La boîte aux lettres au format Maildir est automatiquement créée dans le répertoire de base lorsqu'un nouvel utilisateur est ajouté
[root@centos ~]# mkdir -p /etc/skel/Maildir/{new,cur,tmp}← La boîte aux lettres au format Maildir est automatiquement créée lorsqu'un nouvel utilisateur est ajouté
[root@centos ~]# chmod -R 700 /etc/skel/Maildir/← Paramètre d'autorisation de la boîte aux lettres
[root@centos ~]# vi /etc/postfix/main.cf ← Modifier le fichier de paramétrage de Postfix
Ajoutez ce qui suit à la dernière ligne(Les e-mails adressés à des utilisateurs inexistants sont inconnus_Livraison à l'utilisateur)
local_recipient_maps =
luser_relay = unknown_user@localhost
[root@centos ~]# echo unknown_user: /dev/null >> /etc/aliases ← unknown_Supprimer le courrier de l'utilisateur
[root@centos ~]# newaliases ← /etc/les alias changent la réflexion
■ Démarrez Postfix (1) Démarrez Postfix
[root@centos ~]#systemctl restart postfix ← Postfix restart * Dans le cas de CentOS7
[root@centos ~]#systemctl enable postfix ← Paramètre de démarrage automatique de Postfix * Pour CentOS 7
■ Installation de Dovecot
[root@centos ~]# yum -y installer Dovecot ← Installation Dovecot
■ Paramètres Dovecot
[root@centos ~]# vi /etc/dovecot/conf.d/10-mail.conf ← 10-mail.conf modifier
# Location for users' mailboxes. The default is empty, which means that Dovecot
# tries to find the mailboxes automatically. This won't work if the user
# doesn't yet have any mail, so you should explicitly tell Dovecot the full
# location.
#
# If you're using mbox, giving a path to the INBOX file (eg. /var/mail/%u)
# isn't enough. You'll also need to tell Dovecot where the other mailboxes are
# kept. This is called the "root mail directory", and it must be the first
# path given in the mail_location setting.
#
# There are a few special variables you can use, eg.:
#
# %u - username
# %n - user part in user@domain, same as %u if there's no domain
# %d - domain part in user@domain, empty if there's no domain
# %h - home directory
#
# See doc/wiki/Variables.txt for full list. Some examples:
#
# mail_location = maildir:~/Maildir
# mail_location = mbox:~/mail:INBOX=/var/mail/%u
# mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n
#
#
#
#mail_location =
mail_location = maildir:~/Maildir ← ajouté(Changez le format de stockage du courrier au format Maildir)
# ':' separated list of directories under which chrooting is allowed for mail
# processes (ie. /var/mail will allow chrooting to /var/mail/foo/bar too).
# This setting doesn't affect login_chroot, mail_chroot or auth chroot
# settings. If this setting is empty, "/./" in home dirs are ignored.
# WARNING: Never add directories here which local users can modify, that
# may lead to root exploit. Usually this should be done only if you don't
# allow shell access for users.
#valid_chroot_dirs =
valid_chroot_dirs = /accueil ← ajouté * OpenSSH+Uniquement si Chroot est installé
[root@centos ~]# vi /etc/dovecot/conf.d/10-auth.conf ← 10-auth.conf modifier
# Disable LOGIN command and all other plaintext authentications unless
# SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP
# matches the local IP (ie. you're connecting from the same computer), the
# connection is considered secure and plaintext authentication is allowed.
#disable_plaintext_auth = yes
disable_plaintext_auth =non ← ajouté(Autoriser l'authentification en texte brut)
* Recommandé pour introduire le cryptage du contenu de communication entre les serveurs de messagerie
[root@centos ~]# vi /etc/dovecot/conf.d/10-ssl.conf ← 10-ssl.conf modifier
# SSL/TLS support: yes, no, required.
# disable plain pop3 and imap, allowed are only pop3+TLS, pop3s, imap+TLS and imaps
# plain imap and pop3 are still allowed for local connections
ssl =non ← Connexion SSL désactivée
* Recommandé pour introduire le cryptage du contenu de communication entre les serveurs de messagerie
■ Démarrez Dovecot (1) Démarrer Dovecot
[root@centos ~]#systemctl start dovecot ← Démarrer Dovecot * Pour CentOS 7
[root@centos ~]#systemctl enable dovecot ← Réglage de démarrage automatique Dovecot * Pour CentOS 7
(2) Ouvrez le port TCP 110 (pour POP) ou TCP 143 (pour IMAP) 【Routeur】 Configurez le routeur pour transférer l'accès au port TCP 110 (pour POP) ou TCP 143 (pour IMAP) vers le serveur.
[Pare-feu] * Uniquement lorsqu'un pare-feu est installé Autorisez l'accès au port TCP 110 (pour POP) ou TCP 143 (pour IMAP) dans les paramètres du pare-feu côté serveur.
■ Ajouter un utilisateur de messagerie Ajoutez l'utilisateur de messagerie centos (adresse électronique: [email protected]) comme exemple.
[root@centos ~]#useradd centos ← Add user * Lors de l'activation de la connexion à distance par SSH
[root@centos ~]# useradd -s /sbin/nologin centos ← Ajouter un utilisateur * Lors de l'activation de la connexion à distance par SSH
[root@centos ~]#passwd centos ← réglage du mot de passe
Changing password for user centos.
New UNIX password:← Réponse du mot de passe
Retype new UNIX password:← Réponse du mot de passe(Vérification)
passwd: all authentication tokens updated successfully.
Ce qui suit est uniquement lorsque vous utilisez un nom d'utilisateur et un mot de passe distincts pour l'authentification SMTP
[root@centos ~]# echo "mot de passe" | saslpasswd2 -p -u centos.centossrv.com -c centos ← SMTP認証用ユーザー/mot de passe登録
[root@centos ~]#sasldblistusers2 ← Confirmation de l'utilisateur / mot de passe d'authentification SMTP
[email protected]: userPassword
[root@centos ~]# chgrp postfix /etc/sasldb2 ← /etc/Changer le groupe appartenant à sasldb2 en postfix * Uniquement la première fois
* Lors de la suppression de l'utilisateur / mot de passe pour l'authentification SMTP
[root@centos ~]# saslpasswd2 -d centos -u centos.centossrv.com ← Supprimer l'utilisateur / mot de passe pour l'authentification SMTP
■ Vérification du fonctionnement du serveur de messagerie (lors de l'utilisation de CUI)
Expéditeur
$ telnet localhost 25 #Accès par SMTP
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 mail.bobo.com ESMTP unknown
HELO bobo.com #Accès réussi
502 5.5.2 Error: command not recognized
MAIL FROM: [email protected] #Adresse e-mail de l'expéditeur
250 2.1.0 Ok
RCPT TO: [email protected] #Vérification RCPT TO
250 2.1.5 Ok
DATA #Décrivez ici le contenu de l'e-mail
354 End data with .
From: [email protected] #Adresse e-mail de destination
Subject: test #matière
Hello wrold. #Contenu du courrier d'ici ↓
test
test
test
test
. #Fin (période)
250 2.0.0 Ok: queued as 576F6245A
QUIT #Fin du courrier (envoyer)
221 2.0.0 Bye
Connection closed by foreign host.
$
Confirmez que l'e-mail a été envoyé normalement dans le journal.
$ less /var/log/maillog
Jan 10 17:51:19 t-bobo011 postfix/smtpd[24686]: connect from localhost[::1]
Jan 10 17:51:55 t-bobo011 postfix/smtpd[24686]: 576F6245A: client=localhost[::1]
Jan 10 17:52:50 t-bobo011 postfix/cleanup[24691]: 576F6245A: message-id=<[email protected]>
Jan 10 17:52:50 t-bobo011 postfix/qmgr[12693]: 576F6245A: from=<[email protected]>, size=369, nrcpt=1 (queue active)
Jan 10 17:52:50 t-bobo011 postfix/local[24694]: 576F6245A: to=<[email protected]>, relay=local, delay=69, delays=69/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to maildir)
Jan 10 17:52:50 t-bobo011 postfix/qmgr[12693]: 576F6245A: removed
Receveur
$ telnet localhost 110 #Accès avec POP3
Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
USER bobo #Entrée utilisateur
+OK
PASS cocobat5555 #Entrez le mot de passe de l'utilisateur
+OK Logged in.
LIST #Confirmation de la liste de messages
+OK 5 messages:
1 422
2 455
3 429
4 322
5 458
.
RETR 5 #Vérifiez le 5e message
+OK 458 octets
Return-Path: <[email protected]>
X-Original-To: [email protected]
Delivered-To: [email protected]
Received: from localhost (localhost [IPv6:::1])
by mail.bobo.com (Postfix) with SMTP id 576F6245A
for <[email protected]>; Fri, 10 Jan 2014 17:51:41 +0900 (JST)
From: [email protected]
Subject: test
Message-Id: <[email protected]>
Date: Fri, 10 Jan 2014 17:51:41 +0900 (JST)
To: undisclosed-recipients:;
Hello wrold.
test
test
test
test
.
QUIT #Fin
+OK Logging out.
Connection closed by foreign host.
$
Confirmez que le courrier a été reçu normalement dans le journal.
$ less /var/log/maillog
Jan 10 17:58:29 t-bobo011 dovecot: pop3-login: Login: user=, method=PLAIN, rip=::1, lip=::1, mpid=24714, secured
Jan 10 17:59:05 t-bobo011 dovecot: pop3(bobo): Disconnected: Logged out top=0/0, retr=1/474, del=0/5, size=2086
■ Paramètres du client de messagerie (lors de la configuration du serveur de messagerie entrant sur POP) Si vous utilisez le courrier à plusieurs endroits tels que votre domicile ou votre bureau et que vous n'avez pas besoin de synchroniser vos boîtes aux lettres (par exemple, vous n'avez pas besoin de pouvoir recevoir les courriels reçus à votre bureau à la maison), POP vers le serveur de courrier entrant. Utiliser. Ici, Thunderbird est utilisé comme logiciel de messagerie.
Démarrez Thunderbird et définissez le compte de messagerie dans le menu "Fichier" ⇒ "Nouveau" ⇒ "Compte de messagerie existant" "Votre nom" ⇒ Nom d'affichage (Exemple: [email protected]) "Adresse e-mail" ⇒ Adresse e-mail (Exemple: [email protected]) "Mot de passe" ⇒ mot de passe "continuer" Sélectionnez "Serveur entrant" ⇒ "POP3" "Serveur entrant" - "Nom d'hôte du serveur" ⇒ Nom du serveur de messagerie (Exemple: mail.centossrv.com) Sélectionnez "Serveur entrant" - "Numéro de port" ⇒ "110" Sélectionnez "Serveur entrant" - "SSL" ⇒ "Pas de protection de connexion" Sélectionnez "Serveur de réception" - "Méthode d'authentification" ⇒ "Authentification par mot de passe normal" "Serveur sortant" - "Nom d'hôte du serveur" ⇒ Nom du serveur de messagerie (Exemple: mail.centossrv.com) Sélectionnez "Serveur sortant" - "Numéro de port" ⇒ "587" Sélectionnez "Serveur sortant" - "SSL" ⇒ "Pas de protection de connexion" Sélectionnez "Serveur sortant" - "Méthode d'authentification" ⇒ "Authentification par mot de passe normal" "retester" Confirmez que "Les paramètres de compte suivants ont été trouvés en examinant le serveur spécifié" s'affiche et cliquez sur "Terminer". Cochez «Je comprends les dangers de la connexion» et «Terminé»
■ Paramètres du client de messagerie (lorsque le serveur de messagerie entrant est défini sur IMAP) Si vous souhaitez utiliser le courrier à plusieurs endroits tels que votre domicile ou votre bureau et que vous souhaitez synchroniser vos boîtes aux lettres (par exemple, si vous souhaitez recevoir des e-mails reçus à votre bureau à la maison), utilisez IMAP comme serveur de courrier entrant. Ici, Thunderbird est utilisé comme logiciel de messagerie.
Démarrez Thunderbird et définissez le compte de messagerie dans le menu "Fichier" ⇒ "Nouveau" ⇒ "Compte de messagerie existant"
"Votre nom" ⇒ Nom d'affichage (Exemple: [email protected]) "Adresse e-mail" ⇒ Adresse e-mail (Exemple: [email protected]) "Mot de passe" ⇒ mot de passe "continuer" Sélectionnez "Serveur entrant" ⇒ "IMAP" "Serveur entrant" - "Nom d'hôte du serveur" ⇒ Nom du serveur de messagerie (Exemple: mail.centossrv.com) Sélectionnez "Serveur entrant" - "Numéro de port" ⇒ "143" Sélectionnez "Serveur entrant" - "SSL" ⇒ "Pas de protection de connexion" Sélectionnez "Serveur de réception" - "Méthode d'authentification" ⇒ "Authentification par mot de passe normal" "Serveur sortant" - "Nom d'hôte du serveur" ⇒ Nom du serveur de messagerie (Exemple: mail.centossrv.com) Sélectionnez "Serveur sortant" - "Numéro de port" ⇒ "587" Sélectionnez "Serveur sortant" - "SSL" ⇒ "Pas de protection de connexion" Sélectionnez "Serveur sortant" - "Méthode d'authentification" ⇒ "Authentification par mot de passe normal" "retester" Confirmez que "Les paramètres de compte suivants ont été trouvés en examinant le serveur spécifié" s'affiche et cliquez sur "Terminer". Cochez «Je comprends les dangers de la connexion» et «Terminé»
■ Vérifier le serveur de messagerie □ Envoi et réception d'e-mails entre les mêmes utilisateurs en interne □ Envoi et réception d'e-mails entre d'autres utilisateurs en interne □ Envoi et réception en interne vers et depuis l'extérieur (adresse e-mail du fournisseur, etc.) □ Envoi et réception avec des téléphones portables en interne * □ Envoi et réception d'e-mails entre les mêmes utilisateurs extérieurs (entreprise, etc.) □ Envoi et réception d'e-mails entre d'autres utilisateurs extérieurs (entreprise, etc.) □ Envoi et réception de l'extérieur (entreprise, etc.) vers l'extérieur (adresse e-mail du fournisseur, etc.) □ Envoi et réception avec des téléphones portables à l'extérieur (entreprise, etc.) *
■ Test de refus de relais de messagerie non autorisé Dans le test Open Relay, entrez le nom d'hôte de votre serveur domestique (par exemple centossrv.com) dans "Mail Server" et appuyez sur le bouton "Check for Open Relay". 18 types de tests sont effectués, et c'est OK si Relais NON accepté s'affiche pour tous les tests.
Recommended Posts