postfix: forcer le serveur à envoyer du courrier en dehors de localhost [fermé]


9

J'ai un fichier php qui envoie du courrier en utilisant la fonction mail (). Le problème est l'un des formulaires envoyés à un domaine qui est enregistré sur mon serveur tout en ayant le courrier géré sur un autre serveur. Postfix ne regarde que localement. S'il ne trouve pas l'adresse e-mail, il rejette le message. Comment puis-je configurer postfix pour envoyer du courrier à tous les domaines via Internet et non localement?

Mise à jour

D'accord. Ce n'était donc pas du tout un problème de suffixe. J'avais simplement besoin de désactiver le courrier vers ce domaine à partir de la ligne de commande. Pour tous ceux qui ont besoin de cette commande, c'est (au moins sur mon système):

/usr/local/psa/bin/domain --update example.com -mail_service false

Réponses:


4

J'ai résolu le problème simillar. Lorsque vous écrivez dans votre mise à jour, vous devez désactiver le service de messagerie pour le domaine par /usr/local/psa/bin/domain --update example.com -mail_service falsecommande - cela devrait fonctionner dans la plupart des cas. Quoi qu'il en soit, j'ai fait une autre erreur et la désactivation du service de messagerie n'était pas une solution suffisante pour moi.

Au début, je devrais vérifier mes paramètres DNS. J'ai DNS hébergé en dehors du serveur Plesk mais j'ai défini que DNS est géré par le serveur (option par défaut) lors de la création du domaine - c'était la seule erreur. Ensuite, tout fonctionnait bien sauf l'envoi de mails vers un domaine géré par Plesk. Ensuite, le courrier a été envoyé avec succès de domain.tld à example@gmail.com mais pas à example@domain.tld

La solution pour moi était de désactiver le service DNS pour le domaine dans le panneau de configuration Plesk . Cela pourrait être fait via DNS Settingsdans le Panneau de configuration pour le domaine.


1

Il semble que vous $mydestinationayez tort. Vérifiez sa valeur actuelle sur votre système avec la commande:

postconf mydestination

Par défaut, postfix envoie le courrier uniquement à l'hôte local, pas à l'ensemble du domaine:

% postconf -d mydestination
mydestination = $myhostname, localhost.$mydomain, localhost

Si vous devez ajuster cela, modifiez /etc/postfix/main.cf.

Pour plus d'informations sur les scénarios Postfix courants, consultez les exemples de configuration standard . Vous pouvez également voir des informations spécifiquement surmydestination .


Voici à quoi ressemble ma destination: mydestination = $ myhostname, localhost. $ Mydomain, localhost
LoneWolfPR

la chose étrange est que je l'ai changé, mais il ne montre toujours pas ce que je vois dans le fichier
main.cf

Essayez un postfix reloadpour recharger votre config…
fission

Il s'avère que la solution n'était pas dans postfix pour commencer. Publié une mise à jour avec la réponse car je ne peux pas encore répondre à mes propres questions. Merci d'avoir pris le temps.
LoneWolfPR

Il aurait probablement été utile de savoir qu'il ne s'agissait pas du suffixe "vanille" et que vous utilisiez Plesk. ;-) Heureux d'entendre que c'est trié maintenant.
fission du

1

vous pouvez également utiliser le fichier / etc / postfix / transport pour définir de manière sélective quel serveur smtp doit gérer les domaines de messagerie. Par exemple, si vous souhaitez envoyer un e-mail mydomain.com à smtp.mydomain.com, vous pouvez écrire dans / etc / postfix / transport:

mydomain.com  smtp:[smtp.mydomain.com]

N'oubliez pas de faire postmap / etc / postfix / transport par la suite, pour créer le fichier .db utilisé par postfix.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.