Question

Je configure un serveur qui se trouve sur un réseau derrière un pare-feu et je souhaite que les programmes sur cet ordinateur puissent utiliser sendmail pour envoyer des e-mails à n'importe quelle adresse e-mail.Nous avons un serveur SMTP fonctionnant sur ce réseau (appelons-le mailrelay.example.com), c'est ainsi que nous sommes censés recevoir les e-mails sortants via le pare-feu.

Alors, comment configurer sendmail pour envoyer tous les messages via mailrelay.example.com ?Google ne m'a pas encore donné la réponse et a seulement révélé que la configuration de sendmail est extrêmement complexe et ennuyeuse.

Était-ce utile?

La solution

@eli :la modification directe de sendmail.cf n'est généralement pas recommandée, car elle est générée par le compilateur de macros.

Modifiez /etc/mail/sendmail.mc pour inclure la ligne :

  define(`SMART_HOST',`mailrelay.example.com')dnl 

Après avoir modifié le fichier de configuration de macro sendmail.mc, il doit être recompilé pour produire le fichier de configuration Sendmail.

  # m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

Et redémarrez le service sendmail (Linux) :

  # /etc/init.d/sendmail restart

En plus de définir le smarthost, vous souhaiterez peut-être également désactiver la configuration de la résolution de noms et éventuellement déplacer votre sendmail vers un port non standard, ou désactiver le mode démon.

Désactiver la résolution de nom

Les serveurs qui se trouvent dans les réseaux à parois incendie ou l'utilisation de la traduction d'adresses réseau (NAT) peuvent ne pas avoir de services DNS ou NIS disponibles.Cela crée un problème pour Sendmail, car il utilisera DNS par défaut, et s'il n'est pas disponible, vous verrez des messages comme celui-ci dans MailQ:

  host map: lookup (mydomain.com): deferred)

À moins que vous ne soyez prêt à configurer un service DNS ou NIS approprié que Sendmail peut utiliser, dans cette situation, vous configurerez généralement la résolution du nom à effectuer à l'aide du fichier / etc / hôtes.Cela se fait en activant un fichier 'service.switch' et en spécifiant la résolution par fichier, comme suit:

1:Activer Service.Switch pour Sendmail Edit /etc/mail/sendmail.mc pour inclure les lignes:

  define(`confSERVICE_SWITCH_FILE',`/etc/mail/service.switch')dnl

2 :Configurer Service.Switch pour les fichiers Créer ou modifier /etc/mail/service.switch pour se référer uniquement à / etc / hôtes pour la résolution du nom:

  # cat /etc/mail/service.switch
  hosts files

3 :Recompilez sendmail.mc et redémarrez sendmail pour que ce paramètre prenne effet.

Déplacez sendmail vers un port non standard ou désactivez le mode démon

Par défaut, sendmail écoutera sur le port 25.Vous voudrez peut-être modifier ce port ou désactiver complètement le mode de démon Sendmail pour diverses raisons:- S'il existe une politique de sécurité interdisant l'utilisation de ports bien connus - si un autre produit / processus SMTP doit fonctionner sur le même hôte sur le port standard - si vous ne souhaitez pas accepter du courrier via SMTP, Envoyez-le à l'aide de Sendmail

1:Pour décaler sendmail pour utiliser un port non standard.Editez /etc/mail/sendmail.mc et modifiez le paramètre "Port" dans la ligne :

  DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')

Par exemple, pour que sendmail utilise le port 125 :

  DAEMON_OPTIONS(`Port=125,Addr=127.0.0.1, Name=MTA')

Cela nécessitera la recompilation de sendmail.mc et le redémarrage de sendmail.

2 :Alternativement, pour désactiver le mode de démon Sendmail complètement (Linux) éditer / etc / sysconfig / sendmail et modifier le paramètre "démon" sur:

  DAEMON=no

Ce changement nécessitera le redémarrage de sendmail.

Autres conseils

http://www.elandsys.com/resources/sendmail/smarthost.html

Hôte intelligent Sendmail

Un Smarthost est un hôte par lequel le courrier sortant est relayé.Certains ISP bloquent le trafic SMTP sortant (port 25) et obligent leurs utilisateurs à envoyer tout courrier via le serveur de messagerie du FAI.Sendmail peut être configuré pour utiliser le serveur de messagerie du FAI comme l'hôte intelligent.

Lisez l'article lié pour savoir comment configurer cela.

@Espo :Merci pour les bons conseils sur par où commencer.Votre lien aurait été meilleur si j'avais configuré sendmail pour sa première utilisation au lieu de prendre une configuration existante et d'apporter cette petite modification.Cependant, une fois que j'ai su chercher des choses sur "SmartHost", j'ai trouvé un moyen plus simple.

Tout ce que j'avais à faire était d'éditer mon fichier /etc/mail/sendmail.cf pour changer

DS

à

DSmailrelay.example.com

puis redémarrez sendmail et cela a fonctionné.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top