2009-04-16 11 views
5

J'ai un serveur de messagerie postfix et il y a un problème que je veux déboguer. Comment puis-je le configurer pour envoyer une copie de chaque e-mail à mon adresse e-mail (en plus de transmettre l'e-mail à ses destinataires)?postfix: envoyer une copie de chaque e-mail à une adresse e-mail donnée

+0

http://serverfault.com/questions/407302/how-can-i-configure-postfix-to-retain-copies-of-all-email-sent-through-it a une bien meilleure réponse car il utilise des fonctionnalités fourni par postfix. –

Répondre

8

J'ai récemment eu ce travail, alors que je partage:

l'envoi de tous les messages sortants envoyés dans des dossiers avec postfix et cyrus imap.

Résumé

Faire postfix envoyer des copies Cci de tous les courriels sortants à un spécial « envoyé » compte de messagerie. Utilisez le tamis sur ce compte spécial pour rediriger tous les e-mails vers le dossier Envoyés associé au compte.

  1. Créer le compte utilisateur de messagerie pour envoyer

    La meilleure façon de le faire est de créer un nouveau compte unix pour envoyé, réglage du shell/bin/false pour empêcher quiconque de pouvoir log dans:

    host$ sudo useradd sent 
    host$ sudo chsh -s /bin/false sent 
    
  2. Mettre en place imap pour l'utilisateur envoyé

    en utilisant cyradm nous créons un ne w boîte aux lettres (c.-à-utilisateur) et donner à cet utilisateur append l'accès à tous nos imap « envoyés » dossiers:

    host$ $ cyradm -user cyrus localhost 
    Password: <enter you cyrus user admin password here> 
    localhost> createmailbox user.sent 
    localhost> setaclmailbox user.%.Sent sent append 
    Setting ACL on user.userx.Sent...OK. 
    Setting ACL on user.usery.Sent...OK. 
    . . . 
    Setting ACL on user.userz.Sent...OK. 
    localhost> exit 
    
  3. Créer un script de tamis pour le compte envoyé

    Ce script redirige tout le courrier entrant sur le compte envoyé au dossier Envoyé dans la boîte de réception des expéditeurs.

    Mon script est appelé sent.sieve et ressemble à ceci:

    # Sieve script for sent. If outgoing email is bcc'ed to this account, 
    # this sieve script will redirect it to the sender's Sent folder 
    require ["fileinto"]; 
    
    if address :is :localpart "From" "userx" { 
        fileinto "user.userx.Sent"; 
    } 
    elsif address :is :localpart "From" "usery" { 
        fileinto "user.usery.Sent"; 
    } 
    elsif address :is :localpart "From" "userz" { 
        fileinto "user.userz.Sent"; 
    } 
    

    Vous aurez besoin de mettre dans une entrée pour chacun de vos utilisateurs (userx, Usery, UserZ dans l'exemple ci-dessus). Je n'ai pas été en mesure de trouver une meilleure façon de le faire. Les suggestions sont les bienvenues à [email protected]

    Installez le script de tamis comme ceci:

    host$ sieveshell localhost -user=sent -a=cyrus 
    Password: <enter you cyrus user admin password here> 
    > put sent.sieve 
    > activate sent.sieve 
    > quit 
    
  4. la cartographie Définir Cci pour postfix

    Dans le répertoire Postfix (/ etc/postfix sur debian) créer un fichier appelé bcc_map qui ressemble à ceci:

    # copy all locally sent mail to the sent account 
    @yourdomain.com  [email protected] 
    

    dans un Compile ce hachage postfix fichier à l'aide de:

    host$ sudo postmap bcc_map 
    

    Ajoutez la ligne suivante à la principale de postfix.fichier de configuration cf:

    sender_bcc_maps = hash:/etc/postfix/bcc_map 
    

    Et faire postfix reload sa configuration:

    hôte $ sudo /etc/init.d/postfix recharger

  5. Test et débogage

    Envoyer un certain email et Vérifiez qu'il est copié dans votre dossier Envoyés.

    En cas de problèmes, vous devriez vérifier les logs cyrus et postfix (tous enregistrés sur /var/log/syslog sur mon hôte debian). Les codes d'accès et les autorisations d'accès incorrects entraînent généralement l'envoi d'un indice aux journaux .

2

Il suffit d'ajouter [email protected] dans /etc/postfix/main.cf et redémarrez le serveur Postfix. J'ai ajouté cette ligne dans le bas.

Cela semble vraiment fonctionner. En savoir plus sur always_bcc here

Veuillez ne pas oublier de sauvegarder ce fichier en premier.