Nous avons une configuration exim fonctionnelle sur un site, où les utilisateurs peuvent envoyer et recevoir des e-mails. Nous essayons de configurer un serveur pour envoyer des avertissements et des erreurs par e-mail à une adresse extérieure au réseau local.
Le problème est:
Le programme qui envoie les mails les envoie en utilisant le nom d'utilisateur sous lequel il s'exécute et le nom d'hôte local du serveur. Cela fait que les mails ont un expéditeur de format: [email protected]. Exim envoie ces e-mails au serveur SMTP du FAI, qui rejette les e-mails car ils ont un expéditeur illégal ou invérifiable (l'adresse interne).
Je pense que je devrais configurer exim pour réécrire l'expéditeur lorsque:
- le domaine de l'expéditeur se trouve sur le réseau local
- le domaine du récepteur est en dehors du réseau local
J'ai essayé de définir une sorte de réécriture dans la configuration d'exim, mais je n'ai pas réussi à le faire fonctionner. Je montrerais ce que j'ai essayé, mais j'ai manqué de temps lors de la dernière visite sur le site et j'ai dû revenir à la version originale en perdant toutes les modifications que j'ai essayées.
^
au début de la règle, commeS
excepte une expressionSender:
" en-tête pas "Sender-To:
" (Et c'est un changement trop minuscule pour éditer le post)Le fichier
/etc/email-addresses
doit gérer le problème. Il s'agit d'une partie standard de la distribution Exim. Vous devrez configurer un enregistrement pour chaque utilisateur local envoyant un e-mail.Essayez une ligne à
/etc/email-addresses
aimer:Sur votre serveur MX, ajoutez un alias comme:
Utilisez un en-
Reply-to:
tête pour permettre au destinataire de répondre au message.Le fichier
/etc/email-addresses
est utilisé avec le code de réécriture suivant, qui doit être au début de larewrite
section du fichier de configuration.la source
/etc/email-addresses
n'existe pas sur mon serveur. Puis-je simplement le créer, ou cela indique-t-il qu'il manque quelque chose?email-addresses
, ou vérifiez votre fichier de configuration pour la section de réécriture. Il est possible que cela n'ait pas été configuré dans votre distribution.grep
,locate
et regardé quelquesman
-pages, mais n'a pas trouvé quoi que ce soit. Le fichier doit-il être défini dansexim.conf
?exim.conf
. S'il manque, ajoutez-le. Assurez-vous que la variablelocal_domains
inclut votre domaine./etc/email-addresses
est pratique lorsque vous ne devez associer qu'une seule adresse e-mail par nom d'utilisateur. Cependant, si votre utilisateur doit envoyer des e-mails avec plusieurs adresses, vous devrez modifier à/etc/email-addresses
chaque fois et vous finirez inévitablement par utiliser la mauvaise adresse.Une autre approche consiste à envoyer l'e-mail à l'aide de la
exim4
commande et de son-f
option:Notez que pour que l'
-f
option fonctionne, vous devez soit que votre utilisateur soit dans les utilisateurs de confiance d'exim, soit que exim doit l'accepter comme expéditeur non autorisé autorisé.Dans mon cas, ce dernier était par défaut, grâce à ce caractère générique dans
/etc/exim4/conf.d/main/02_exim4-config_options
:L'autre solution consiste à ajouter la ligne suivante
/etc/exim4/conf.d/main/00_local_settings
(en supposant la configuration divisée d'exim et à la créer si elle n'existe pas déjà):Les deux options nécessitent un rechargement de la configuration d'exim. Sous Debian:
la source