Installation et configuration de base de Sendmail sur Ubuntu Server. Configurer Sendmail Installer sendmail debian

Vous avez à peine besoin serveur Web qui ne peut pas envoyer de courrier depuis votre site. Vous trouverez ci-dessous un moyen simple de déployer rapidement envoyer un mail en tant que MTA (Mail Transfer Agent) qui envoie du courrier pour le site.

Commencer installation

Sudo apt-get install sendmail

La deuxième chose et la plus importante est la configuration correcte de l'hôte lui-même. L'expéditeur doit savoir exactement quel nom DNS FQDN l'hôte a et qu'il existe dans l'immensité du réseau mondial.

Supposons que le serveur sur lequel sendmail fonctionne a une adresse IP 123.123.123.123

Nous avons également le nom de domaine domainame.com, qui est correctement délégué à l'adresse IP du serveur.

Modification du fichier /etc/hébergeurs pour que le serveur connaisse son propre nom DNS (bien sûr, il doit être correct et réel)

Sudo nano -w / etc / hôtes

La deuxième ligne, qui devrait être ajoutée, est la description du nom de domaine du serveur, sa comparaison avec l'adresse IP réelle de l'hôte et le nom du système interne :

127.0.0.1 hôte local 123.123.123.123 box1.domainname.com votre-serveur-web

Ensuite, vous devez apporter une modification au fichier /etc/nom d'hôte

Sudo nano -w / etc / nom d'hôte

Et entrez le nom de serveur correct ici, qui a été entré dans /etc/hébergeurs dans notre exemple, il s'agit de votre serveur Web.

Contenu du fichier /etc/hostname après édition :

Votre-serveur-web

Après ces étapes, vous devez redémarrer le serveur ou exécuter :

/etc/init.d/hostname restart Et exécutez 2 commandes : hostname hostname -f

Si tout est correct, le système doit renvoyer les mêmes noms dans les deux cas : votre-serveur-web

Conseiller vérifier l'envoi de la lettre Donc

# telnet localhost smtp nous donne : Trying :: 1 ... Trying 127.0.0.1 ... Connected to localhost. Le caractère d'échappement est "^]". 220 localhost6.localdomain6 ESMTP Sendmail 8.14.3 / 8.14.3 / Debian-9.2ubuntu1 ; jeu. 9 déc. 2010 15:31:17 +0200; (Pas d'UCE / UBE) accès à la journalisation depuis : localhost.localdomain (OK) - localhost.localdomain entrez : HELO localhost nous donne : 250 localhost6.localdomain6 Bonjour localhost.localdomain, ravi de vous rencontrer entrez : MAIL FROM : [email protégé] cela nous donne : 250 2.1.0 [email protégé] Expéditeur ok, entrez : RCPT À : [email protégé] cela nous donne : 250 2.1.5 [email protégé] Destinataire ok, entrez : DATA nous donne : 354 Entrez mail, terminez par "." sur une seule ligne, entrez le message de test. J'espère que vous avez deviné que le courrier ci-dessus aurait dû être remplacé par le dernier que telnet nous écrit 250 2.0.0 oB9DVHsE004837 Message accepté pour livraison

À la suite de l'exécution d'une séquence de commandes à l'e-mail spécifié ( [email protégé]) un message devrait arriver ("message de test").

Configuration de php.ini

gedit/etc/php5/apache2/php.ini

Rechercher et modifier la ligne suivante

sendmail_path = / usr / sbin / sendmail -t -i

Vérification de la fonction mail ()

écho courrier (" [email protégé]"," message de test "," message de test "," De : [email protégé]"); ?>

L'installation est terminée, j'espère que vous réussirez configurer Sendmail sur Ubuntu

Tout d'abord une petite digression

SMTP - Simple Mail Transfer Protocol - un service dans les réseaux TCP / IP pour transférer des messages (c'est-à-dire du courrier). Typiquement le port 25 est utilisé pour SMTP (voir fichier /etc/services)

POP - Post Office Protocol - est utilisé pour recevoir le courrier du serveur. Le port par défaut est 110 (pour le protocole POP3)

Maintenant, je vais essayer d'expliquer comment configurer un petit serveur de messagerie en utilisant POP3 et SMTP.

Tout d'abord, nous allons installer le logiciel nécessaire. Nous avons besoin de sendmail et d'imap. Si vous utilisez une version compatible RH de Linux, vous devrez installer les packages appropriés.
j'utilise
sendmail-8.11.0
imap-4.7c2

Avant de commencer à configurer sendmail, vous devez configurer DNS correctement, sinon ce programme ne fonctionnera pas correctement (bien que vous puissiez configurer sendmail pour qu'il fonctionne sans utiliser DNS).

Faisons la configuration de base de sendmail. Pour ce faire, vous devez exécuter l'utilitaire
netconf... Il fonctionne aussi bien sous X que sous la console.
L'utilitaire netconf est dans RH, Mandrake - je ne sais pas avec certitude pour les autres versions. (il n'est pas disponible dans KSI Linux). Naturellement, vous devez être connecté en tant que root.

Sélectionnez dans le menu Système de distribution de courrier, alors Configuration de base de sendmail
Dans le champ Présenter votre système comme, entrez simplement votre nom de domaine
Cochez ensuite la case Accepter l'e-mail pour...
Définissez le protocole d'envoi de message sur smtp ( Protocole de passerelle de messagerie)

Ces informations sont déjà suffisantes pour que votre sendmail soit opérationnel.
Vous pouvez définir des options supplémentaires pour le programme sendmail avec
netconf. Si vous n'avez pas sendmail, vous passerez un moment inoubliable
le plaisir d'éditer manuellement le fichier /etc/sendmail.cf - dedans
les paramètres sont stockés) :)

Faisons maintenant en sorte que sendmail accepte uniquement le courrier des personnes autorisées
adresses. Pour ce faire, vous n'avez même pas besoin de configurer sendmail lui-même - il vous suffit de
corriger les fichiers /etc/hosts.allow et /etc/hosts.deny
Le premier contient une liste d'hôtes autorisés à accéder à ce
la voiture, et dans la seconde c'est interdit. Attention : malgré le nom
(autorisé | refusé), restrictions définies par le premier fichier
beaucoup plus stricte.

Exemple. Pour refuser l'accès à tous les hôtes à l'exception de vos ordinateurs
réseaux dans le fichier /etc/hosts.allow ajoutez la ligne
"192.168.1.
On entend ici que le réseau a l'adresse 192.168.1.0 et le masque 255.255.255.0
Vous pouvez en savoir plus sur les formats de fichiers hosts.allow et hosts.deny,
en entrant la commande man /etc/hosts.allow

Afin de ne recevoir du courrier que de "vos" domaines, vous devez ajouter à
mc (généralement /etc/mail/sendmail.mc) les lignes suivantes (utilisez
tabulations, pas d'espaces)
LOCAL_CONFIG
FR-o /etc/sendmail.cR

LOCAL_RULESET
Scheck_rcpt
# tout ce qui se termine localement est ok
R< $+ @ $=w > [email protégé] d'accord
R< $+ @ $=R > [email protégé] d'accord

# tout ce qui provient localement est ok
R $ * $ : $ (dequote "" $ & (client_name) $)
R$ = w [email protégé] d'accord
R$ = R [email protégé] d'accord
[email protégé] [email protégé] d'accord

# tout le reste est faux
R $ * $ # erreur $: "550 Relaying Denied"

Créez maintenant un fichier /etc/sendmail.cR et entrez les noms de "vos" domaines dedans -
un dans chaque ligne.
Uniquement pour ces domaines, l'expéditeur pourra recevoir du courrier - tout le monde recevra
550 Message de relais refusé

C'est maintenant au tour de POP3. Après avoir installé le package imap, vous avez pratiquement
tout est mis en place, c'est-à-dire Je tiens à dire qu'il est déjà possible de vérifier la configuration.

Tout d'abord, redémarrez le démon inetd
Après son redémarrage, les services sendmail et popd seront activés (plus précisément
un sendmail et un popd sont appelés au besoin)

Essayez ce qui suit :
entrer telnet<имя_только_созданного_почтовика> 25
Vous devriez voir quelque chose comme ce qui suit :
Essayer 192.168.1.1 ...
Connecté à 192.168.1.1
Le caractère d'échappement est "^]"
220 de.dhsilabs.com ESMTP Sendmail 8.11.0 / 8.8.7 Dim, 17 juin 2001 10:54:22 +300

Cela signifie que sendmail fonctionne, il reste à voir si c'est correct :)

Présenter
courrier de: [email protégé]
220 2.1.0 [email protégé].... Expéditeur OK
rcpt à : [email protégé]
220 2.1.5 [email protégé].... Destinataire OK
Maintenant, nous entrons les données, puis le texte du message, pour terminer l'entrée, nous mettons un point
v ligne vide

Sendmail vous informera que le message a été envoyé (plus précisément, il est placé dans
file d'attente pour le départ)

[email protégé]-nom de l'utilisateur à qui j'envoie le courrier.
den.dhsilabs.com - le nom de mon expéditeur
Veuillez noter qu'il n'y a pas d'hôte my.host.com dans la nature, mais Sender Ok.
C'est pourquoi, dans les paramètres de sendmail, il est préférable d'activer l'option Wait for DNS

Maintenant, vous devez démarrer un client de messagerie, par exemple kmail
et ramasser le courrier.
Paramètres réseau dans kmail
Réseau -> Mail Sending set SMTP, 25ème port, nom du serveur -
le nom de votre expéditeur,
J'ai - den.dhsilabs.com

Ajoutez ensuite un compte pour POP3
Bûches - tanière
Mot de passe - le mot de passe utilisé pour se connecter au système
Serveur - den.dhsilabs.com
Port - 110

Vous devriez obtenir le message que vous avez entré après les données.

Il est apparu en 1983, mais il est activement utilisé à ce jour. Parmi principales caractéristiques- prise en charge par de nombreuses plateformes qui existent aujourd'hui, ainsi que gratuitement. L'application est livrée avec un code source ouvert. Cela signifie que tout le monde peut y ajouter sa propre fonctionnalité ou changer à sa guise. V système opérateur Ubuntu, Sendmail, qui est personnalisable à partir de la ligne de commande Linux, a fait son chemin grâce à son bon support et ses riches fonctionnalités.

Le processeur de messages - Sendmail - s'est généralisé dans le domaine des affaires.

Aujourd'hui, le "processeur de messages" Sendmail Sentrion, qui a été créé en tenant compte des besoins des grandes entreprises, est assez courant. Ses caractéristiques distinctives sont une productivité élevée et une bonne intégration avec tous les processus commerciaux. Sentrion propose, en plus des nouvelles technologies, des applications patrimoniales bien ancrées. En outre, l'application est suffisamment conviviale pour convenir aux utilisateurs à domicile.

Installation du programme

Vous devez installer Sendmail sur la base serveur local ou serveur Web. Dans le second cas, l'agent de messagerie sera plus fonctionnel. Pour obtenir tous les composants d'un serveur Web, vous avez besoin d'une pile de composants LAMP. Il peut être trouvé dans le référentiel.

IMPORTANT. Avant d'installer un nouveau logiciel, n'oubliez pas de mettre à jour les listes de packages dans le référentiel local à l'aide de la commande

"$ Sudo apt-get update"

L'installation de Sendmail commence par la commande "sudo apt install sendmail", qui téléchargera les packages de l'agent de messagerie.

"Mcedit / etc / hôtes"
"Sudo sendmailconfig"

Après cela, vous devez redémarrer les services du programme lui-même, ainsi que le serveur Web Apache :

"Sudo /etc/init.d/sendmail restart"
« Sudo /etc/init.d/apache2 redémarrer »

Si nécessaire, vous pouvez installer les utilitaires pour travailler avec la messagerie :

"Sudo installer mailutils"

Nous vérifions les tests de performance de l'ensemble du système :

"Envoyer votre_mail< /dev/null»

où "votre_mail" est l'adresse postale actuelle.

Enfin, vérifions le fichier journal. C'est le fichier service de courrier où les erreurs d'installation seront affichées :

Queue -f /var/log/mail.log

Il ne reste plus qu'à rentrer dans la boite E-mail... Il devrait déjà y avoir un message de test.

Vous en savez donc plus sur le programme Ubuntu Sendmail, qui s'est avéré assez simple à configurer. Si vous avez des questions sur d'autres aspects du travail avec des programmes pour Linux, cherchez des réponses sur les pages de notre site !

Le livre décrit en détail les paramètres des services réseau qui vous permettent de créer un serveur de la configuration et des fonctionnalités requises basées sur le système d'exploitation Linux. Vous pouvez mettre en place tout type de serveur : depuis le serveur réseau local au serveur Internet et au serveur d'accès distant. L'administration Linux est décrite en détail.

La présentation est basée sur les distributions Red Hat et Mandrake. Beaucoup d'informations uniques : lancement de jeux Windows sous Linux et création d'un serveur Linux pour une salle de jeux, mise en place de Dr. Web et AVP pour Linux, logiciel de comptabilité du trafic MRTG, système de protection et de détection LIDS, et bien plus encore. Attention particulière payé à la sécurité des serveurs Linux. Le système d'exploitation Linux lui-même est décrit de manière suffisamment détaillée et une référence à ses commandes est fournie. Après avoir lu le livre, vous deviendrez les propriétaires des connaissances sur la configuration et la compilation du noyau, la création de vos propres packages rpm, le shell bash et l'utilisation des matrices RAID. Vous apprendrez à connaître le monde intérieur de Linux. Le livre convient aussi bien aux administrateurs professionnels qu'aux administrateurs novices, car la présentation du matériel commence par l'installation du système d'exploitation Linux et le premier chapitre décrit les technologies et protocoles réseau de base (Cours Jeune Administrateur).

Toutes les listes de ce livre ont été testées dans la pratique et peuvent être trouvées sur le CD ci-joint. De plus, il contient beaucoup Informations de référence(HOWTO, RFC) et articles Linux. Un riche ensemble d'utilitaires d'assistance et Logiciel pour le serveur (Apache, MySQL, MRTG, etc.).

Livre:

Si vous utilisez une distribution compatible RedHat, vous devrez installer les packages appropriés. J'utilise sendmaiI-8.11.0 et imap-4.7c2. Dernière version sendmail peut être téléchargé sur Internet à l'adresse http://www.sendmail.org.

Avant de commencer à configurer sendmail, vous devez configurer correctement DNS. La configuration du serveur DNS a été discutée en détail dans Ch. 10. Si vous configurez uniquement un serveur de messagerie, vous n'avez pas besoin de configurer un serveur DNS sur le même ordinateur. Il suffira de spécifier les serveurs DNS de votre réseau dans le fichier /etc/resolv.conf pour que le système de résolution de noms fonctionne correctement. Cependant, sendmail peut être configuré pour fonctionner sans utiliser DNS, mais je ne considérerai pas cette option.

Pour démarrer avec la configuration de base de sendmail, exécutez l'utilitaire netconf (voir Figure 13.1). Il fonctionne à la fois sous X-Window et sous la console. L'utilitaire netconf est disponible dans RedHat Linux, Mandrake, ASPLinux et d'autres distributions, mais il ne l'est certainement pas dans KSI Linux. Naturellement, vous devez être connecté en tant que root. Si vous n'avez pas netconf, vous aurez le grand plaisir d'éditer manuellement le fichier /etc/sendmail.cf. Ce fichier est l'endroit où tous les paramètres de sendmail sont stockés.


Figure. 13.1. Configurateur Netconf

Sélectionnez Système de distribution de courrier dans le menu, puis Configuration de base de sendmail. Dans le champ Présenter votre système en tant que, entrez simplement votre nom de domaine. Assurez-vous ensuite de cocher la case « Accepter l'e-mail pour votre_domaine.com » (voir Figure 13.2). Si vous ne le faites pas, votre serveur pourra rediriger les messages vers un autre serveur. Dans le même temps, le trafic excédentaire passera par votre serveur, dont vous n'avez pas du tout besoin. Il était une fois même ce genre d'attaque de rejet par e-mail. Son principe est le suivant : une lettre est envoyée depuis un utilisateur inexistant [email protégé]à un autre utilisateur inexistant [email protégé] La lettre est envoyée via l'ordinateur hostcom, ce qui permet de rediriger le message (le mode « Accepter l'e-mail pour domaine.com » n'est pas activé). Le serveur de messagerie du domaine B.com envoie un message à l'adresse [email protégé] que l'utilisateur [email protégé] n'existe pas. À son tour, l'expéditeur du domaine A.com informe que l'utilisateur [email protégé] n'existe pas non plus et envoie un message à l'adresse [email protégé] Une récursivité indirecte se produit. Imaginez maintenant qu'un tel message n'en soit pas un, mais, disons, 100 et que le volume de chacun soit d'au moins 1 Mo ! En conséquence, l'un des serveurs de la chaîne domain1.com - host.com - domain2.com devrait « planter ».


Riz. 13.2. Configuration de base de sendmail

Désolé, je suis un peu hors sujet, continuons à configurer sendmail. Définissez le protocole d'envoi de message sur smtp (protocole de passerelle de messagerie).

Ces informations sont déjà suffisantes pour que votre sendmail soit opérationnel. Vous pouvez définir des options supplémentaires pour le programme sendmail en utilisant netconf.

Faites maintenant en sorte que sendmail accepte uniquement le courrier provenant d'adresses autorisées. Pour ce faire, vous n'avez même pas besoin de configurer sendmail lui-même - il vous suffit de modifier les fichiers /etc/hosts.allow et /etc/hosts.deny. Le premier d'entre eux contient une liste d'hôtes autorisés à accéder à cette machine et le second, qui est refusé. Attention : malgré le nom - "Autorisé" ou "refusé", les restrictions définies par le premier fichier sont beaucoup plus strictes. Par exemple, pour refuser l'accès à tous les hôtes à l'exception des ordinateurs de votre réseau, ajoutez la ligne 192.168.1 au fichier /etc/hosts.allow.

Ici, nous voulons dire que le réseau a une adresse de 192.168.1.0 et un masque de 255.255.255.0. Vous pouvez en savoir plus sur le format des fichiers hosts.allow et hosts.deny en entrant la commande man hosts.allow.

C'est maintenant au tour de POP3. Après avoir installé le package imap, vous avez presque tout configuré, c'est-à-dire Je tiens à dire qu'il est déjà possible de vérifier la configuration. Redémarrez le démon inetd ou xinetd, selon celui que vous utilisez, et entrez ce qui suit :

telnet<имя_только_созданного_почтовика> 25

En réponse, vous devriez voir quelque chose comme ce qui suit :

Essayer 192.168.1.1. ... ...
Connecté à 192.168.1.1
Le caractère d'échappement est
220 de.dhsilabs.com ESMTP Sendmail 8.11.0 / 8.8.7 Dim, 17 juin
2001 10:54:22 +300

Cela signifie que sendmail fonctionne, il reste à voir à quel point il le fait. Pour ce faire, entrez quelque chose comme ce qui suit :

courrier de: [email protégé]
220 2.1.0 [email protégé]…. Expéditeur OK
rcpt à : [email protégé]
220 2.1.5 [email protégé]…. Destinataire OK

Après cela, entrez la commande de données, puis le texte du message et, pour terminer l'entrée, mettez un point sur une ligne vide. Sendmail vous informera que le message a été envoyé (plus précisément, il a été placé dans la file d'attente d'envoi). Enregistrement [email protégé]- le nom de l'utilisateur à qui vous envoyez un courrier. L'utilisateur doit vraiment exister. L'entrée den.dhsilabs.com est le nom de votre expéditeur.

Noter. Noms [email protégé] et dhsilabs.com sont donnés à titre d'exemples. Vous devez plutôt fournir vos propres valeurs.

Veuillez noter qu'il n'y a pas d'hôte my.host.com dans la nature et que le programme sendmail signale que « Sender Ok ». C'est pourquoi il est préférable d'activer l'option Attendre DNS dans les paramètres de sendmail.

Vous devez maintenant lancer un client de messagerie, par exemple kmail, et recevoir du courrier. Utilisez les paramètres réseau suivants dans le programme kmail : Réseau ? Envoi du courrier SMTP, port 25, nom du serveur - le nom de votre expéditeur, dans cet exemple il s'agit de den.dhsilabs.com. Ajoutez ensuite un compte pour POP3 :

Nom d'utilisateur - den

Mot de passe - le mot de passe utilisé pour se connecter au système.

Serveur - den.dhsilabs.com

En conséquence, vous devriez recevoir le message que vous avez entré après les données. Cependant, il peut y avoir des problèmes pour résoudre le nom. Pour les éviter, vous devez configurer DNS correctement ou à la place d'un nom serveur de courrier utiliser son adresse IP. Lors de l'ajout d'un nouvel utilisateur, assurez-vous de définir son mot de passe de connexion. Si vous ne le faites pas, mais essayez de recevoir du courrier sans spécifier de mot de passe, vous recevrez un message "Échec de l'authentification".

La configuration de base de sendmail est très simple à l'aide du configurateur, mais parfois la configuration de base ne suffit pas. Pour une configuration plus précise, vous devez vous familiariser avec les fichiers de configuration de sendmail.

Noter. Dans la plupart des cas, tout ira bien configuration de base jusqu'à ce que les spammeurs vous prennent sous leur "protectorat" - alors vous devrez lire Ch. 23 sur les méthodes de protection contre le spam. Cependant, l'une des lois de Murphy peut fonctionner - aucun configurateur sendmail ne sera développé pour votre système, et vous devrez toujours gérer les fichiers de configuration.

Le fichier de configuration principal de sendmail est /etc/sendmail.cf. Sur certaines distributions, ce fichier se trouve dans le répertoire /etc/mail. On dit à propos de ce fichier qu'il est plus long que la limousine de Bill Gates et qu'il est édité en mode "les yeux ont peur, les mains font". Si vous ne me croyez pas, ouvrez ce fichier et vous en serez convaincu. Éditer ce fichier manuellement ne peut être fait que par des administrateurs professionnels ou des développeurs sendmail.

En règle générale, le processeur de macros m4 est utilisé pour éditer ce fichier. Tout d'abord, vous préparez un fichier mc personnalisé. Ce fichier contient les paramètres .sendmail, mais sous une forme plus "lisible". Lors de l'édition des fichiers de configuration, leur taille affecte également. A titre de comparaison, mon fichier mc fait 2459 octets et mon fichier sendmail.cf fait 46302 octets. C'est une chose d'éditer un fichier de deux kilo-octets, et une autre quand la taille du fichier est de 46 kilo-octets. Contrairement au fichier de configuration de sendmail, vous comprendrez immédiatement à quoi sert un fichier mc particulier. Ensuite, après avoir modifié le fichier mc, vous devez exécuter le processeur de macros m4 pour créer le fichier de configuration sendmail :

m4 ma_config.mc> /etc/sendmail.cf

Avant d'exécuter cette commande, je recommande fortement d'enregistrer quelque part fichier d'origine sendmail.cf. En cas de paramètres incorrects, vous pouvez toujours le restaurer.

Le fichier de configuration par défaut utilisé par le macroprocesseur T4 pour créer le fichier de configuration du programme sendmail (sendmail.cf) se trouve dans le répertoire /usr/share/sendmail-cf/cf. Dans les anciennes versions du programme sendmail, il peut se trouver dans le répertoire /usr/lib/sendmail.

Typiquement, ce fichier est nommé sendmail.mc. Il peut parfois être appelé différemment, comme redhat.mc, si vous utilisez le système d'exploitation Red Hat ou un système compatible.

Un exemple de fichier /usr/share/sendmail-cf/cf/redhat.mc standard est présenté dans l'extrait 13.1.

Liste 13.1. Fichier standard redhat.mc

détourner (-1)
dnl Il s'agit du fichier de configuration de la macro sendmail. Si vous apportez des modifications à ce fichier,
dnl, vous avez besoin du rpm sendmail-cf installé et devez ensuite générer un
dnl new /etc/sendmail.cf en exécutant la commande suivante : dnl
dnl m4 /etc/mail/sendmail.mc> /etc/sendmail.cf
dnl
inclure ("../ m4 / cf.m4")
VERSIONID ("configuration Linux pour Red Hat Linux") dnl
OSTYPE ("linux")
définir ("confDEF_USER_ID", "8:12") dnl
undefine ("UUCP_RELAY") dnl
undefine ("BITNET_RELAY") dnl
définir ("confAUTO_REBUILD") dnl
définir ("confTO_CONNECT", "1m") dnl
définir ("confTRY_NULL_MX_LIST", vrai) dnl
définir ("confDONT_PROBE_INTERFACES", vrai) dnl
définir ("PROCMAIL_MAILER_PATH", "/usr/bin/procmail") dnl
define ("ALIAS_FILE", "/ eto / aliases") dnl
dnl define ("STATUS_FILE", "/etc/mail/statistiques") dnl
définir ("UUCP_MAILER_MAX", "2000000") dnl
define ("conf USERDB_SPEC", "/etc/mail/userdb.db")dnl
define ("confPRIVACY_FLAGS", "authwarnings, novrfy, noexpn, restrictqrun") dnl
définir ("confAUTH_OPTIONS", "A") dnl
dnl TRUST_AUTH_MECH ("DIGEST-MD5 CRAM-MD5 LOGIN PLAIN") dnl
dnl define ("confAUTH_MECANISMS", "DIGEST-MD5 CRAM-MD5 LOGIN PLAIN") dnl
dnl define ("confTO_QUEUEWARN", "4h") dnl
dnl define ("confTO_QUEUERETURN", "5d") dnl
dnl défini ("confQUEUE_LA", "12") dnl
dnl définir ("confREFUSE_LA", "18") dnl
dnl FEATURE (delay_checks) dnl
FONCTIONNALITÉ ("no_default_msa", "dnl") dnl
FONCTIONNALITÉ ("smrsh", Vusr / sbin / smrsh ") dnl
FONCTIONNALITÉ ("mailertable", "hash-o /etc/mail/mailertable.db")dnl
FONCTIONNALITÉ ("virtusertable", "hash –o /etc/mail/virtusertable.db")dnl
FONCTIONNALITÉ (redirection) dnl
FEATURE (always_add_domain) dnl
FEATURE (use_cw_file) dnl
FEATURE (use_ct_file) dnl
FONCTIONNALITÉ (local_procmail, "", "procmail –t –Y –a $ h –d $ u") dnl
FONCTIONNALITÉ ("access_db", "hash –o /etc/mail/access.db")dnl
FEATURE ("blacklist_recipients") dnl
EXPOSED_USER ("root") dnl
dnl Cela modifie sendmail pour n'écouter que sur le périphérique de bouclage 127.0.0.1
dnl et pas sur d'autres périphériques réseau. Commente ceci si tu veux
dnl pour accepter les e-mails sur le réseau.
DAEMON_OPTIONS ("Port = smtp, Adresse = 127.0.0.1, Nom = MTA")
dnl REMARQUE : la liaison des démons IPv4 et IPv6 au même port nécessite
dnl un correctif de noyau
dnl DAEMON_OPTIONS (xport = smtp, Adr = :: 1, Nom = MTA-v6, Famille = inet6 ")
dnl Nous vous recommandons fortement de commenter celui-ci si vous souhaitez protéger
dnl vous-même du spam. Cependant, l'ordinateur portable et les utilisateurs d'ordinateurs qui
dnl n'a pas de DNS 24x7 en a besoin.
FEATURE ("accept_unresolvable_domains") dnl
dnl FEATURE ("relay_based_on_MX") dnl
COURRIER (smtp) dnl
MAILER (procmail) dnl
Cwlocalhost.localdomain

La directive FEATURE peut être utilisée pour connecter l'une ou l'autre fonction du programme sendmail. Par exemple, la fonction mailertable est conçue pour remplacer le routage pour des domaines spécifiques. Vous pouvez facilement étendre Fonctionnalité sendmail en ajoutant les fonctions souhaitées au fichier mc.

Supposons que vous vouliez masquer les noms des ordinateurs du domaine. Ceci est facilement réalisé en ajoutant la fonction masquerade_envelope à votre fichier mc. Pour ce faire, copiez le fichier redhat.mc dans le fichier hide_hosts.me et ajoutez les lignes suivantes à la fin du fichier hide_hosts.me :

MASQUERADE_AS (mon-domaine.ru) dnl
FEATURE (mascarade_envelope) dnl

Exécutez ensuite la commande :

m4 /usr/share/sendmail-cf/cf/hide_hosts.me> /etc/sendmail.me

C'est tout! Les noms de nœuds seront masqués. La description des autres fonctions est présentée dans le tableau. 13.1.

Fonctions Sendmail Tableau 13.1

Fonction La description
access_db Définit la table d'accès. Ce tableau répertorie les hôtes autorisés ou non à envoyer du courrier via votre serveur de messagerie. Cette option est utilisée efficacement pour lutter contre le spam. La protection anti-spam est discutée en détail dans la section du même nom dans Ch. 23
accept_unresolvable_domains Permet d'envoyer du courrier à des domaines qui ne peuvent pas être reconnus
bestmx_is-local Les messages ne seront acceptés que si l'enregistrement du serveur DNS MX pointe vers ce serveur de messagerie
liste noire_destinataires "Liste noire". Une autre option pour lutter contre le spam. L'option access_db est requise pour que cela fonctionne.
dnsbl Utilisé pour fonctionner avec la liste noire, dnsbl est l'abréviation de DNS Black List. Dans les versions précédentes, cette option était appelée (Résoudre la liste noire)
table de domaine Utilisé pour résoudre les noms de domaine
génériquestable Utilisé pour changer l'adresse d'envoi dans les messages
local_procmail Indique que le courrier doit être distribué à l'aide de l'utilitaire procmail local
table de courrier Remplace le routage pour des domaines spécifiques
mascarade_entire_domain Utilisé pour masquer (cacher) tout le domaine. Cette fonction doit être utilisée en conjonction avec la directive MASQUERADE AS (ou MASQUERADE_DOMAIN), par exemple, MASQUERADE_AS (f117.ru) dnl
mascarade_enveloppe Permet de masquer les noms d'hôtes du domaine. Remplace le champ Reçu de l'en-tête du message avant de transmettre le message à d'autres
réorienter Utilisé pour rediriger vers un autre serveur de messagerie. Signifie le refus d'accepter le courrier avec l'émission d'un message s'il vous plaît essayez
(essayez d'utiliser cette adresse)
relay_based_on_MX Autorise le transfert de courrier (relais) uniquement pour les hôtes spécifiés dans les enregistrements du serveur DNS MX
relay_hosts_only Autorise le relais uniquement pour les nœuds spécifiés dans access_db
relay_mail_from Permet de relayer uniquement si l'expéditeur est répertorié dans la liste RELAY de l'accessdb
smrsh Utilisation du shell sendmail limité
use_cf_file Lorsque cette fonction est spécifiée, sendmail recherchera dans le fichier sendmail.cf une liste d'utilisateurs de confiance.
use_cw_file Lorsque cette fonction est spécifiée, sendmail recherchera dans le fichier sendmail.cw une liste d'hôtes locaux.
virtusertable Convertit l'adresse du destinataire en l'adresse d'un utilisateur local

Le fichier /etc/mail/sendmail.cw répertorie tous les alias d'un serveur de messagerie donné. Supposons que le nom de votre serveur soit mail.dhsilabs.ru. Si l'expéditeur envoie un courrier à l'adresse [email protégé], la lettre sera livrée au repaire de l'utilisateur sans aucun problème. Et si quelqu'un envoie une lettre à l'adresse [email protégé], alors sa livraison posera certaines difficultés, car il n'est pas clair à quel nœud du domaine dhsilabs le message est adressé ? Pour résoudre ce problème, vous devez mettre une ligne dans le fichier sendmail.cw.

Guide d'installation et de configuration pour l'un des plus anciens MTA (Agent de transfert de courrier), un programme d'envoi d'e-mails - envoyer un mail qui est disponible pour l'installation sur n'importe quel système d'exploitation. Sur de nombreux systèmes d'exploitation, sendmail est installé par défaut et il n'est pas nécessaire de remplacer ce MTA standard par un autre. En même temps, le même PHP est configuré par défaut pour fonctionner avec ce MTA. Si la configuration de sendmail prend beaucoup de temps - mettez postfix (), il n'est pas nécessaire de perdre beaucoup de temps.

Préparation

Vérifiez si sendmail est installé et non exim4 ou un autre MTA :

Ls -la `which sendmail` # lrwxrwxrwx 1 root root 26 2011-01-17 19:58 / usr / sbin / sendmail -> / etc / alternatives / sendmail

Installation

sudo apt-get install sendmail sasl2-bin

Paramètre / etc / hôtes

127.0.0.1 localhost localhost.localdomain e5530
Noter

Vous devez spécifier votre hôte principal (nom d'ordinateur, le mien est e5530) et localhost.localdomain, sinon vous recevrez une erreur : Mon nom d'hôte non qualifié (myhostname) inconnu ; dormir pour réessayer "et" incapable de qualifier mon propre nom de domaine (e5530) - en utilisant un nom court, envoyer un mail prend beaucoup de temps à démarrer et envoie le courrier lentement. Hébergeur éventuel localhost.localdomain peut être ignoré, pas sûr.

Après cela, vous devez spécifier les noms des hôtes locaux, à partir desquels envoyer un mail acceptera les demandes d'envoi d'e-mails, dans le fichier /etc/mail/local-host-names :

AuthInfo : smtp.gmail.com " U : [email protégé]"" JE: [email protégé]"" P: YourPass "" M: PLAIN "AuthInfo: smtp.gmail.com: 465" U: [email protégé]"" JE: [email protégé]"" P : YourPass " " M : PLAIN "

Noter

Au lieu du port 465, vous pouvez essayer de frapper sur 587 (s'il y a des problèmes d'autorisation) :

AuthInfo : smtp.gmail.com : 587 " U : [email protégé]"" JE: [email protégé]"" P : YourPass " " M : PLAIN "

Chmod 600 / etc / mail / auth / *

Configuration de Sendmail.mc

Fichier de configuration /etc/mail/sendmail.mc. Comparez votre configuration. Cela devrait être quelque chose comme ça .. L'ordre des instructions est important !

Dnl # include (`/etc/mail/m4/dialup.m4") dnl include (`/etc/mail/m4/provider.m4") dnl include (`/etc/mail/tls/starttls.m4") dnl include (`/etc/mail/sasl/sasl.m4") dnl FEATURE (`authinfo", `hash / etc / mail / auth / client-info") dnl define (`SMART_HOST", `smtp.gmail.com" ) dnl define (`RELAY_MAILER_ARGS", `TCP $ h 587") dnl define (`ESMTP_MAILER_ARGS", `TCP $ h 587") dnl dnl # dnl # Configuration du courrier par défaut MAILER_DEFINITIONS MAILER (`local") dnl MAILER (`smtp" ) dnl define (`confAUTH_MECHANISMS", `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN") dnl # dnl define (`confDOMAIN_NAME", `e5530") dnl

Utilisation de la configuration de sendmail

cd / etc / mail sudo su # juste sudo ne fonctionnera pas ! m4 sendmail.mc> sendmail.cf makemap -r hachage authinfo.db< auth/client-info make /etc/init.d/sendmail restart # Перезагрузка конфига

Problèmes et solutions

Si tout est configuré correctement, mais que les messages vont dans la "file d'attente en attente" et ne sont pas relayés vers un autre SMTP :

  1. Vérifiez votre IP "schnick dans les listes noires. Vous pouvez vérifier l'IP interdite ici sur smart-ip.net, mon IP est entrée dans la base de données de spamhaus" a.
  2. Vérifiez si votre fournisseur bloque les paquets sortants sur le port 25.
Problèmes avec Intertelecom !

Je n'ai pas réussi à configurer le relais de message sur GMail via sendmail sur la connexion Intertelecom - sendmail a obstinément frappé sur le port 25, qui est fermé par le FAI. J'ai dû configurer postfix.

Configuration PHP (si besoin)

Spécifiez les paramètres de lancement de sendmail dans la configuration /etc/php5/apache2/php.ini (/etc/php5/cli/php.ini) :

## Configuration de sendmail pour PHP : sendmail_path = / usr / sbin / sendmail -t; sendmail_path = "/ usr / sbin / sendmail -t -f [email protégé]-je "

Vérifions les paramètres

echo "Texte du message" | mail -s "Sujet" [email protégé] sendmail -t [email protégé]-F [email protégé]-v -i< ~/mail-body.txt

Pour tester postfix, essayez d'envoyer plusieurs messages depuis la console. J'ai décrit comment faire cela dans cet article : "".

Gestion des envois

Afficher l'intégralité de la file d'attente des messages :

Sudo mailq

Affichez la file d'attente des messages à une adresse spécifique :

Sudo mailq | grep " [email protégé]"| wc -l

Effacez toute la file d'attente des messages sendmail :

Sudo rm -r / var / spool / mqueue-client / *

Effacez la file d'attente des messages sendmail à destination :

Cd/var/spool/mqueue ls | xargs -ti sh -c "grep" [email protégé]"" () "> / dev / null && rm -f" () ""

#sendmail, #LAMP, #MTA

P.S. Si vous voulez apprendre la console Linux à un assez bon niveau, je vous recommande de lire le nouveau livre de Denis Kolisnichenko " Ligne de commande Linux et automatisation des tâches routinières».

2021 wisemotors.ru. Comment ça fonctionne. Le fer. Exploitation minière. Crypto-monnaie.