não consegue encontrar o email postfix / mailx em maildir, porque não?

2

Em uma máquina de desenvolvimento CentOS 7 , configurei o postfix para permitir que os e-mails sejam trocados entre localhost de endereços. Mailx também está instalado. Eu sou capaz de enviar e-mail, e os arquivos de log indicam que o e-mail foi entregue. No entanto, não consigo encontrar os emails para visualizar no terminal. O que estou fazendo de errado? Como posso visualizar esses e-mails enviados recentemente no terminal?

Eu posso enviar e-mail digitando mailx root@localhost no terminal e, em seguida, seguindo os prompts para adicionar assunto e corpo, então Ctrl-D para obter o prompt de comando. Além disso, quando eu digito mail ou mailx quando logado como root, o terminal responde com uma lista de alguns e-mails antigos que foram armazenados antes de postfix ser alterado para armazenar e-mails em /Maildir , mas não há novos e-mails a serem encontrados. Eu posso ver esses e-mails antigos quando eu digito nano /var/spool/mail/root , mas é claro que os novos e-mails não são armazenados em /var/spool/mail/root .

Não há /var/log/mail . No entanto, nano /var/log/maillog contém:

Jan  5 12:09:40 localhost postfix/postfix-script[6162]: starting the Postfix mail system
Jan  5 12:09:40 localhost postfix/master[6164]: daemon started -- version 2.10.1, configuration /etc/postfix
Jan  5 12:46:00 localhost postfix/postfix-script[3036]: starting the Postfix mail system
Jan  5 12:46:00 localhost postfix/master[3047]: daemon started -- version 2.10.1, configuration /etc/postfix
Jan  5 13:12:02 localhost postfix/smtpd[4642]: connect from localhost.localdomain[127.0.0.1]
Jan  5 13:12:02 localhost postfix/smtpd[4642]: DB1249A618: client=localhost.localdomain[127.0.0.1]
Jan  5 13:12:02 localhost postfix/cleanup[4645]: DB1249A618: message-id=<1738078707.0.1420492322780.JavaMail.username@localhost.localdomain>
Jan  5 13:12:02 localhost postfix/qmgr[3058]: DB1249A618: from=<[email protected]>, size=632, nrcpt=1 (queue active)
Jan  5 13:12:02 localhost postfix/smtpd[4642]: disconnect from localhost.localdomain[127.0.0.1]
Jan  5 13:12:02 localhost postfix/local[4646]: DB1249A618: to=<[email protected]>, orig_to=<root@localhost>, relay=local, delay=0.11, delays=0.06/0.02/0/0.03, dsn=2.0.0, status=sent (delivered to maildir)
Jan  5 13:12:02 localhost postfix/qmgr[3058]: DB1249A618: removed
Jan  5 14:29:20 localhost postfix/pickup[5207]: 7F4439A616: uid=1000 from=<username>
Jan  5 14:29:20 localhost postfix/cleanup[5266]: 7F4439A616: message-id=<[email protected]>
Jan  5 14:29:20 localhost postfix/qmgr[3058]: 7F4439A616: from=<[email protected]>, size=334, nrcpt=1 (queue active)
Jan  5 14:29:20 localhost postfix/local[5271]: 7F4439A616: to=<[email protected]>, orig_to=<root@localhost>, relay=local, delay=0.13, delays=0.1/0.01/0/0.02, dsn=2.0.0, status=sent (delivered to maildir)
Jan  5 14:29:20 localhost postfix/qmgr[3058]: 7F4439A616: removed
Jan  5 14:57:10 localhost postfix/pickup[5207]: A21B49A618: uid=0 from=<root>
Jan  5 14:57:10 localhost postfix/cleanup[5529]: A21B49A618: message-id=<[email protected]>
Jan  5 14:57:10 localhost postfix/qmgr[3058]: A21B49A618: from=<[email protected]>, size=534, nrcpt=1 (queue active)
Jan  5 14:57:10 localhost postfix/local[5531]: A21B49A618: to=<[email protected]>, orig_to=<root>, relay=local, delay=0.38, delays=0.34/0.01/0/0.03, dsn=2.0.0, status=sent (delivered to maildir)
Jan  5 14:57:10 localhost postfix/qmgr[3058]: A21B49A618: removed
Jan  5 15:47:38 localhost postfix/pickup[5207]: F312D9A618: uid=0 from=<root>
Jan  5 15:47:39 localhost postfix/cleanup[5975]: F312D9A618: message-id=<[email protected]>
Jan  5 15:47:39 localhost postfix/qmgr[3058]: F312D9A618: from=<[email protected]>, size=458, nrcpt=1 (queue active)
Jan  5 15:47:39 localhost postfix/local[5977]: F312D9A618: to=<[email protected]>, orig_to=<username@localhost>, relay=local, delay=0.12, delays=0.09/0.01/0/0.03, dsn=2.0.0, status=sent (delivered to maildir)
Jan  5 15:47:39 localhost postfix/qmgr[3058]: F312D9A618: removed
Jan  5 15:48:20 localhost postfix/pickup[5207]: A826C9A618: uid=1000 from=<username>
Jan  5 15:48:20 localhost postfix/cleanup[5975]: A826C9A618: message-id=<[email protected]>
Jan  5 15:48:20 localhost postfix/qmgr[3058]: A826C9A618: from=<[email protected]>, size=461, nrcpt=1 (queue active)
Jan  5 15:48:20 localhost postfix/local[5977]: A826C9A618: to=<[email protected]>, orig_to=<username@localhost>, relay=local, delay=0.11, delays=0.08/0/0/0.03, dsn=2.0.0, status=sent (delivered to maildir)
Jan  5 15:48:20 localhost postfix/qmgr[3058]: A826C9A618: removed
Jan  5 15:48:29 localhost postfix/pickup[5207]: 54AA19A618: uid=1000 from=<username>
Jan  5 15:48:29 localhost postfix/cleanup[5975]: 54AA19A618: message-id=<[email protected]>
Jan  5 15:48:29 localhost postfix/qmgr[3058]: 54AA19A618: from=<[email protected]>, size=461, nrcpt=1 (queue active)
Jan  5 15:48:29 localhost postfix/local[5977]: 54AA19A618: to=<[email protected]>, orig_to=<root@localhost>, relay=local, delay=0.11, delays=0.09/0/0/0.02, dsn=2.0.0, status=sent (delivered to maildir)
Jan  5 15:48:29 localhost postfix/qmgr[3058]: 54AA19A618: removed
Jan  5 15:52:03 localhost postfix/pickup[5207]: C756E9A618: uid=0 from=<root>
Jan  5 15:52:03 localhost postfix/cleanup[6074]: C756E9A618: message-id=<[email protected]>
Jan  5 15:52:03 localhost postfix/qmgr[3058]: C756E9A618: from=<[email protected]>, size=491, nrcpt=1 (queue active)
Jan  5 15:52:03 localhost postfix/local[6076]: C756E9A618: to=<[email protected]>, orig_to=<root@localhost>, relay=local, delay=0.13, delays=0.09/0.01/0/0.03, dsn=2.0.0, status=sent (delivered to maildir)
Jan  5 15:52:03 localhost postfix/qmgr[3058]: C756E9A618: removed
Jan  5 16:02:36 localhost postfix/smtpd[6213]: connect from localhost.localdomain[127.0.0.1]
Jan  5 16:04:26 localhost postfix/smtpd[6213]: disconnect from localhost.localdomain[127.0.0.1]  

Os registros dizem delivered to maildir . Estou usando a sintaxe errada para acessar o maildir do conteúdo?

Além disso, main.cf é o seguinte (observe que é necessário permitir que as contas de host local enviem emails entre si):

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
myorigin = localhost
inet_interfaces = localhost
inet_protocols = all
unknown_local_recipient_reject_code = 550
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
relayhost = 
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
home_mailbox = Maildir/
mailbox_command = 
debug_peer_level = 2
debugger_command =
    PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
    ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.10.1/samples
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES

O que estou fazendo de errado?

EDITAR:

De acordo com o aviso de masegaloeh , digitei nano ~/.mailrc e adicionei o seguinte antes de salvar:

set MAIL=/home/root/Maildir
set folder=mail

Em seguida, digitei mailx , mas o terminal respondeu com No mail for root . Então, criei um novo e-mail com o seguinte:

[root@localhost ~]# mailx
No mail for root
[root@localhost ~]# mailx root@localhost
Subject: another 905pm test.
gonna try again now.
EOT
[root@localhost ~]# mailx
No mail for root

Como você pode ver, não há como ler o e-mail que acabei de enviar. O que estou fazendo de errado?

    
por CodeMed 06.01.2015 / 03:14

2 respostas

4

Por padrão, o mailx pesquisará o arquivo mbox /var/spool/mail/$username . Você pode vê-lo com o comando abaixo ( crédito para site beginlinux.com )

$ set | grep -i mail
MAIL=/var/spool/mail/myuser
MAILCHECK=60

Quando você alterar o parâmetro home_mailbox no postfix, será necessário ajustar a configuração do mailx para que ele procure mensagens em novos locais. Com home_mailbox = Maildir/ , o postfix armazenará o email no diretório Maildir relativo com o diretório inicial do usuário .

Snippet do postfix man postconf

home_mailbox (default: empty)

Optional pathname of a mailbox file relative to a local(8) user's home directory.

Specify a pathname ending in "/" for qmail-style delivery.

Portanto, o seu email será armazenado em $HOME/Maildir/ , com $ HOME é o seu diretório pessoal. Para root, seu diretório inicial é /root/ ; para outro usuário, seu diretório inicial normalmente está em /home/otheruser/ . Veja a explicação muru em unix.SE: Diretório raiz / home vs ~ (til) .

No seu caso, você precisa editar ~/.mailrc e adicionar essas duas linhas

set MAIL=/root/Maildir
set folder=mail

Referências - > Fórum do Fedora: ~ / .mailrc muda

    
por 06.01.2015 / 04:51
-1

Eu estava tendo o mesmo problema que todos os e-mails enviados para [email protected] não estavam sendo salvos na caixa de correio raiz

Comentei esta linha em mail.cf home_mailbox = Maildir /

então eu tive que definir o proprietário de var / spool / mail / root para "root"

Se você tem outros usuários que talvez você tenha que criar um arquivo em var / spool / mail / folder com seu nome de usuário e também configurar o proprietário do arquivo com o mesmo nome de usuário?

    
por 14.10.2015 / 15:35