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
LoneWolfPR
la source

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 à [email protected] mais pas à [email protected]

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.

Boris Šuška
la source
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 .

fission
la source
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.

Tuncay Göncüoğlu
la source