web-dev-qa-db-fra.com

Comment configurer sendmail à relais via un serveur spécifique

J'ai une minuscule service de serveur de maison derrière mon modem câble (Communications Bresnan). Je veux pouvoir recevoir cette boîte pour envoyer des courriers électroniques (pas recevoir) pour notifications et.

Ce que j'ai déjà fait:

  • J'ai installé et configuré Sendmail.
  • J'ai ajouté ma mail.bresnan.net comme directive SMART_Host.

Ce que je crois que le problème est

Lorsque j'essaie d'envoyer un email, je reçois ce qui suit dans mon journal de messagerie:

Dec 22 10:24:17 batcave sendmail[1530]: oBMHOHrs001530: from=aburns, 
  size=140, class=0, nrcpts=1, 
  msgid=<[email protected]>, 
  relay=aburns@localhost
Dec 22 10:24:17 batcave sm-mta[1531]: oBMHOHWZ001531: from=<[email protected]>, 
  size=397, class=0, nrcpts=1,
  msgid=<[email protected]>,
  proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Dec 22 10:24:17 batcave sendmail[1530]: oBMHOHrs001530:
  to=<[email protected]>, ctladdr=aburns (1000/1000),
  delay=00:00:00, xdelay=00:00:00, mailer=relay,
  pri=30140, relay=[127.0.0.1] [127.0.0.1],
  dsn=2.0.0, stat=Sent (oBMHOHWZ001531 Message accepted for delivery)
Dec 22 10:24:18 batcave sm-mta[1517]: oBMH9mVv001357:
  to=<[email protected]>, ctladdr=<[email protected]>
  (1000/1000), delay=00:14:30, xdelay=00:00:42, mailer=relay,
  pri=300339, relay=pmx0.bresnan.net. [69.145.248.1],
  dsn=4.0.0, stat=Deferred: Connection timed out with pmx0.bresnan.net.

Vous pouvez voir où le message est accepté pour la livraison par mon serveur Sendmail, puis lorsqu'il tente de remédier au serveur de Bresnan et à l'émission informatique.

C'est là que ma question est. lecteurs de Asstute remarquerez que pmx0.bresnan.net est pas ce que j'ai mon SMART_Host ensemble directive comme. C'est le (extérieur?) MX serveur pour le domaine Bresnan.com/net. Apparemment bresnan a leur réseau configuré de sorte que vous ne pouvez pas accéder à ce serveur à partir de leur propre réseau et au lieu doit utiliser le serveur mail.bresnan.net (que je peux me connecter à). Le problème est que je ne sais pas comment dire sendmail à utiliser ceci serveur et non le domaine.

Ce que j'ai essayé

  • Définition d'une entrée d'hôtes afin que le serveur PMX0 pointe sur l'adresse IP du courrier. Cela ne fonctionne pas, ce qui a du sens que Sendmail fait évidemment une requête MX pour trouver le serveur qui renvoie l'adresse IP afin qu'il ne soit jamais nécessaire de faire une résolution de DNS "normale" afin que le fichier d'hôtes ne soit jamais impliqué.

Le correctif (pour tout le courrier sortant):

Encore une fois, les accessoires vont à Webmin (voir la note ci-dessous) pour m'aider à apprendre cela. Si vous entrez votre SMartthost avec des supports carrés qui indique à Sendmail de ne pas effectuer une recherche MX, donc: define('SMART_Host','[69.145.248.18]') (Fixez les devis-> Backticks) fonctionne en réalité sans table de courrier.

Le correctif (pour des domaines spécifiques):

Comme indiqué ci-dessous la configuration d'un mailertable est requis. Cependant, comme à la pointe page man , cette fonction doit également être activé dans votre fichier sendmail.mc.

Notez également que la route du courrier ne force pas Sendmail à utiliser le serveur spécifié pour toutes les opérations, il est basé sur l'adresse du destinataire. Ceci est bien correct pour moi car je n'ai besoin que d'envoyer à quelques domaines (Gmail, Google hébergé et mon travail).

Résumé :

  • Ajouter FEATURE('mailertable') à votre fichier sendmail.mc. (Notez que la première citation devrait être une backtick.
  • Créez votre fichier /etc/mail/mailertable (Voir page man )
  • Créer un mapfile: Sudo makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
  • Reconstruire vos configs make -C /etc/mail
  • Restart: service sendmail restart

Remarque: I hautement Recommandez à l'aide de Webmin pour éditer/reconstruire ces fichiers. Sans cela, je serais devenu fou en essayant de comprendre pourquoi mon fichier d'utilisateur était ignoré.

11
ErebusBat

Vous pouvez contourner la recherche MX en ajoutant une courte entrée dans votre sendmail /etc/mail/mailertable déposer.

Le contenu du fichier devrait probablement avoir une seule ligne comme:

bresnan.net       esmtp:[69.145.248.18]

Enregistrez le fichier et redémarrez Sendmail (ou reconstruisez votre Sendmail.cf si cela doit être effectué manuellement).

7
ewwhite