aliases de postfix db: nenhum arquivo ou diretório

3

Estou tentando usar um postfix em um local Ubuntu 12.04 com ZoneMinder . Eu instalei do pacote Ubuntu Desktop the Postfix e sua dependência.

Agora, se eu tentar enviar e-mail com o seguinte comando, ele funciona bem:

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

Então, se um alarme de ZoneMinder enviar um e-mail, recebo o seguinte

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

e se eu executar postqueue -q, recebo emails enfileirados com (banco de dados de alias indisponível)

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

Eu tentei definir pownership para postfix como sugerido em outro post com o seguinte

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

e reiniciou o postfix, mas não ajuda.

O main.cf tem o seguinte

smtpd_banner = $ myhostname ESMTP $ mail_name (Ubuntu) biff = não

# 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

O que devo verificar?

    
por user2478262 16.04.2015 / 17:34

1 resposta

11

Isso é porque você tem

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

O hash: significa que você deve ter um arquivo de banco de dados contendo os hashes, conforme descrito em Tipos de tabela de pesquisa do Postfix :

An indexed file type based on hashing. This is available only on systems with support for Berkeley DB databases. Public database files are created with the postmap(1) or postalias(1) command, and private databases are maintained by Postfix daemons. The database name as used in "hash:table" is the database file name without the ".db" suffix.

Portanto, conforme descrito na documentação do alias_maps :

If you change the alias database, run postalias /etc/aliases (or wherever your system stores the mail alias file), or simply run newaliases to build the necessary DBM or DB file.

Isso criará o arquivo /etc/aliases.db das informações em /etc/aliases .

Naturalmente, você deve executar um desses comandos também durante a configuração inicial.

    
por 16.04.2015 / 17:52