web-dev-qa-db-fra.com

Alias ​​Postfix DB: Aucun fichier ou répertoire de ce type

J'essaie d'utiliser un postfix sur une locale Ubuntu 12.04 avec ZoneMinder. J'ai installé de Ubuntu Desktop Le package Postfix et sa dépendance.

Maintenant, si j'essaie d'envoyer un courrier électronique avec la commande suivante, cela fonctionne bien:

echo "This is the body of the email" | mail -s "This is the subject line" [email protected]

Ensuite, si une alarme de ZoneMinder envoie un email que je reçois ce qui suit

Apr 16 17:05:18 ubuntu postfix/local[11541]: warning: hash:/etc/aliases is unavailable. open database /etc/aliases.db: No such file or directory

et sur si je courais postqueue -q, je reçois des courriels en file d'attente avec (base de données alias indisponible)

A09B4A40C16      422 Thu Apr 16 16:59:37  [email protected]
                                                  (alias database unavailable)
                                         [email protected]

J'ai essayé de définir pownership à postfix comme suggéré dans un autre poste avec les éléments suivants

Sudo chown postfix:postfix -R /var/lib/postfix

et redémarrage de postfix, mais n'a pas d'aide.

Le Main.cf a ce qui suit

smtpd_banner = $ myHOSTName ESMTP $ MAIL_Name (Ubuntu) BIFF = Non

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = ubuntu
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = meridianozero.net, localhost, localhost.localdomain, localhost
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

Que dois-je vérifier?

7
user2478262

C'est parce que tu as

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

Les hash: signifie que vous devez avoir un fichier de base de données contenant les hachages, comme décrit dans Types de table Postfix Lookup :

Un type de fichier indexé basé sur le hachage. Ceci est disponible uniquement sur les systèmes avec prise en charge des bases de données Berkeley DB. Les fichiers de base de données publics sont créés avec la commande PostMap (1) ou Postalias (1) et des bases de données privées sont conservées par des démons Postfix. Le nom de la base de données utilisée dans "hachage: table" est le nom du fichier de base de données sans le suffixe ".db".

Par conséquent, comme décrit dans la documentation de alias_maps :

Si vous modifiez la base de données d'alias, exécutez postalias /etc/aliases (ou partout où votre système stocke le fichier d'alias de messagerie) ou expliquez simplement newaliases pour créer le fichier DBM ou DB nécessaire.

Cela construira le /etc/aliases.db Fichier des informations dans /etc/aliases.

Naturellement, vous devez exécuter l'une de ces commandes également pendant la configuration initiale.

16
Esa Jokinen