web-dev-qa-db-fra.com

DÉSACTIVER toutes les fonctions de messagerie dans Ubuntu

J'ai un environnement de transfert standard sur un serveur Ubuntu (LAMP), avec quelques pages Web à ce sujet.

Certaines pages Web envoient des courriels sur des événements de flux de travail particuliers.

Je dois exécuter quelques tests sur le système, mais je ne peux pas permettre à des courriels aléatoires de survoler et de spammer les modérateurs (c'est arrivé une fois).

Désactiver la partie particulière du code ou ajuster les paramètres de la page Web n'est pas un bon scénario, car le système doit être dans une configuration de type production. Il peut également se trouver à plusieurs endroits (ou dans un scénario de secours si l'une des options est désactivée). ) et je ne peux pas risquer cela.

La solution la plus raisonnable à laquelle je puisse penser est de désactiver simplement (temporaire) tous les services de mailing (couramment utilisés avec PHP).

J'ai un accès complet sur le serveur et les compétences de base de Linux.

a trouvé cette sorcière bien pour commencer:

Sudo /etc/init.d/sendmail stop

Mais j'ai besoin de savoir s'il existe d'autres services de courrier possibles,
comment vérifier si elles fonctionnent,
comment les arrêter,
comment valider.

Je suppose que la commande ci-dessus suffira probablement ... mais j'aimerais entendre l'opinion de quelqu'un qui a plus d'expérience dans le sujet.

4
d.raev

Si vous arrêtez tout le serveur de messagerie comme ceci (/etc/init.d/sendmail stop]), vous rencontrerez peut-être des difficultés pour tester correctement votre code. Par exemple, lorsque l'action d'envoi de courrier est exécutée, elle peut attendre trop longtemps et générer un délai d'attente car le serveur de messagerie n'est pas opérationnel, ce qui vous conduit à penser que votre code ne fonctionne pas.

Mon approche personnelle sur le sujet ne consiste pas à arrêter le serveur de messagerie, mais à agir au niveau du code et du système:

  1. Tout d'abord, si vous avez besoin d'envoyer un courrier, vous n'avez pas besoin d'un serveur de messagerie complet comme Sendmail ou Postfix ou Qmail installé. . Vous pouvez simplement installer le paquet ssmtp qui est suffisant pour envoyer un courrier en utilisant un relais de messagerie configuré dans /etc/ssmtp/ssmtp.conf.
  2. Si votre application envoie un courrier en utilisant un fichier binaire local tel que mail ou sendmail, l’arrêt du serveur de messagerie risque de ne pas être la solution: les e-mails peuvent être mis en file d'attente localement et si vous redémarrez le serveur de messagerie, tous les les mails accumulés seront envoyés à la fois.
  3. Ma solution idéale serait d’envoyer des messages en utilisant le protocole SMTP directement à partir de votre application, en vous connectant à une adresse IP et à un port (valeur par défaut 25), en utilisant éventuellement un nom d’utilisateur et un mot de passe pour l’authentification.
  4. Si votre application peut envoyer un courrier à un relais (local ou externe), assurez-vous qu'il n'est pas codé en dur dans votre code mais défini via un fichier de configuration dédié à votre application. Il en va de même pour les adresses électroniques de destination.
  5. Si vous respectez le point précédent, vous pouvez créer un serveur de transfert avec une configuration de messagerie différente. La configuration du serveur de transfert peut consister à envoyer un courrier électronique à votre adresse de messagerie personnelle.
  6. Cette approche présente les avantages de vous permettre également de tester les fonctionnalités de messagerie sans perturber la destination réelle des messages de production. De plus, vous êtes certain de ne pas créer d’effet secondaire de la désactivation d’un serveur de messagerie.
2
Benoit