Forum Linux.général [Résolu] Envoie de mail depuis serveur web

Posté par  (site Web personnel) . Licence CC By‑SA.
Étiquettes :
0
8
déc.
2013

Bonjour,

Me voilà devant un petit problème de performance.
J'ai plusieurs VM, donc 1 WEB et 1 MAIL

J'aimerais pouvoir envoyer des mails depuis WEB, en utilisant MAIL.
A l'heure actuelle, c'est déjà possible, grâce à sendmail, installé sur WEB.

Est-il possible de ne pas utiliser sendmail (qui me bouffe pas mal de ressource), et d'utiliser directement postfix/dovecot installé sur ma VM MAIL ?

Ce post fait suite à une GROSSE utilisation de sendmail sur ma VM WEB, qui me provoquait des (syslog):
Dec 8 14:54:29 WEB sm-mta[13986]: rejecting connections on daemon MTA-v4: load average: 66
Dec 8 14:54:29 WEB sm-mta[13986]: rejecting connections on daemon MSP-v4: load average: 66
Dec 8 14:54:44 WEB sm-mta[13986]: rejecting connections on daemon MTA-v4: load average: 67
Dec 8 14:54:44 WEB sm-mta[13986]: rejecting connections on daemon MSP-v4: load average: 67
Dec 8 14:54:59 WEB sm-mta[13986]: rejecting connections on daemon MTA-v4: load average: 69
Dec 8 14:54:59 WEB sm-mta[13986]: rejecting connections on daemon MSP-v4: load average: 69
Dec 8 14:55:14 WEB sm-mta[13986]: rejecting connections on daemon MTA-v4: load average: 70
Dec 8 14:55:14 WEB sm-mta[13986]: rejecting connections on daemon MSP-v4: load average: 70

  • # installer autre chose sur WEB

    Posté par  . Évalué à 2.

    car en fait pour utiliser le postfix de MAIL, il faut envoyer les emails depuis la machine WEB vers la machine MAIL.

    suivant tes sites webs, ca se passe simplement en utilisant du smtp sortant, comme n'importe quel client email
    et lui dire alors d'utiliser MAIL plutot que localhost ou 127.0.0.1

    • [^] # Re: installer autre chose sur WEB

      Posté par  (site Web personnel) . Évalué à 0.

      Prenons un exemple (concret/courant) : wordpress : Je ne trouve nul part ou renseigner un serveur SMTP ?!
      Et le problème se pose pour chaque fonction "mail()" de php appelé. J'aimerais utiliser "directement" mon serveur mail.

      Je comprend bien qu'il me faut "quelques chose" qui fasse le liens entre WEB et MAIL, mais quoi ? J'ai l'impression que sendmail se place en serveur d'envoie, au même titre que postfix. J'aimerais pour ma part, renseigner le système de façon à dire, chaque utilisation de mail(), renvoie vers MAIL (la VM/mon serveur de mail).

      • [^] # Re: installer autre chose sur WEB

        Posté par  (site Web personnel) . Évalué à 1. Dernière modification le 09/12/13 à 09:35.

        Il te faut configurer le relaying depuis sendmail/exim/etc sur WEB.

        La gelée de coings est une chose à ne pas avaler de travers.

      • [^] # Re: installer autre chose sur WEB

        Posté par  (site Web personnel) . Évalué à 1.

        Pour WP, tu peux ajouter ce plugin: http://wordpress.org/plugins/wp-mail-smtp/

        La gelée de coings est une chose à ne pas avaler de travers.

        • [^] # Re: installer autre chose sur WEB

          Posté par  (site Web personnel) . Évalué à 0.

          Merci pour le plugin (que je ne vais pas utiliser cela dit).
          Concernant la config, l'idée était de me passer d'un vrai mta (sendmail/exim etc ..)
          msmtp rempli parfaitement l'affaire !

          • [^] # Re: installer autre chose sur WEB

            Posté par  (site Web personnel) . Évalué à 2.

            msmtp rempli parfaitement l'affaire !

            Juste parce que ça me pique les yeux (et que j’ai déjà répondu utilement par ailleurs) : quelque chose peut faire l’affaire ou remplir sa fonction, mais pas remplir l’affaire.

      • [^] # Re: installer autre chose sur WEB

        Posté par  (site Web personnel) . Évalué à 4.

        Je comprend bien qu'il me faut "quelques chose" qui fasse le liens entre WEB et MAIL, mais quoi ?

        Un client SMTP, comme msmtp par exemple. L’avantage de ce dernier est qu’il accepte les mêmes options que sendmail(8), de telle sorte qu’on peut créer un lien symbolique /usr/sbin/sendmail vers /usr/bin/msmtp, ainsi les programmes se reposant sur sendmail(8) pour l’envoi de messages (comme la fonction mail() de PHP si j’ai bien compris) utiliseront automatiquement msmtp de façon transparente.

        (Quel intérêt de remplacer sendmail par un programme qui se fait passer pour sendmail, me diras-tu ? C’est que msmtp est « juste » un client SMTP qui relaie les messages à un vrai MTA — en l’occurence le Postfix installé sur ta machine MAIL —, là où sendmail est lui-même un « vrai » MTA dont tu n’as pas besoin, sur ta machine WEB, de toutes les fonctionnalités.)

        • [^] # Re: installer autre chose sur WEB

          Posté par  (site Web personnel) . Évalué à 1.

          Je pense que c'est EXACTEMENT ca qu'il me faut/fallait !
          Il ne me fallait pas un vrai MTA, mais un relai :)

          Je test ca de-suite : Et ca marche (avec quelques petites adaptation de configuration, que je post pour la postérité) :

          root@WEB:/home# cat /etc/msmtprc
          account default
          host mail
          auto_from on
          maildomain
          syslog LOG_MAIL

          Merci !

          Il me reste plus qu'à trouver un moyen pour re-install logwatch sans installer exim4 ou sendmail (le lien symbolique ne lui suffit pas :D)

          • [^] # Re: installer autre chose sur WEB

            Posté par  . Évalué à 2.

            configurer apt-get pour refuser les dependances :p

            ou installer logwatch d'abord puis msmtp ensuite qui va virer exim4/sendmail

          • [^] # Re: installer autre chose sur WEB

            Posté par  (site Web personnel) . Évalué à 4.

            Il me reste plus qu'à trouver un moyen pour re-install logwatch sans installer exim4 ou sendmail (le lien symbolique ne lui suffit pas :D)

            Sur Debian ou dérivé, je pense qu’il faut plutôt installer le paquet msmtp-mta plutôt que msmtp. C’est le même programme mais le premier paquet fournit le paquet virtuel mail-transport-agent, dont est dépendant logwatch.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.