Onde os emails do sendmail são armazenados?

10

Estou tentando criar um script de resposta automática para o sendmail (não, ainda não quero usar um pré-criado), mas não consigo encontrar o local dos emails recebidos no meu servidor. Eu tenho que especificar que minha configuração não é padrão.

Eu procurei /root, não há pasta de correio lá. (Eu não tenho outro usuário que não seja root). Examinei /var/mail/root, existem apenas alguns logs que são enviados a mim por email, mas não os emails externos que recebo dos usuários.

Eu verifiquei /var/log/maillog, mas não há erros.

Estou sem ideias para onde procurar. Alguém pode ajudar-me?

Eduard Luca
fonte

Respostas:

6

O sendmail (um agente de transporte de correio - MTA) armazena correio no local em que está configurado para armazenar correio. Mas um MTA armazena apenas as mensagens que estão na fila no momento - a entrega das mensagens no local em que é acessível por um usuário é tratada pelo agente de entrega de mensagens (MDA). Embora o sendmail (e outros MTAs) possam atuar como um MDA, é muito incomum que seja esse o caso.

Independentemente disso, tentar acessar os arquivos de mensagens não é o caminho certo para implementar um autoresponder.

Isso deve ser feito como um filtro no MTA (ou seja, um milter) ou no MDA. A API do milter foi projetada especificamente para isso - e já pode haver ferramentas disponíveis que atendam aos seus requisitos sem modificações.

Se o seu MDA atual é procmail, você está com sorte - isso oferece uma enorme flexibilidade (na verdade, é uma linguagem de programação por si só) para lidar com mensagens de correio. Novamente, há muitos códigos na Internet que podem atender às suas necessidades (AFAIK não existe um repositório central para receitas do procmail - mas tente o google).

Até o mecanismo básico .forward pode ser usado para implementar isso - mas eu desaconselho - ao seguir a rota do procmail, você pode bifurcar a mensagem para que a entrega não dependa / seja implementada pelo seu script.

symcbean
fonte
Eu tenho o procmail instalado (procmail-3.22-17.1.el5.centos.x86_64), mas não tenho certeza de que seja usado. Também li sobre um script de resposta automática que usa procmail, o que pode ser útil para mim. Posso ver se o procmail está em uso?
Eduard Luca
1
Você poderia publicar o conteúdo do seu sendmail.cfarquivo na linha iniciada Mlocal, o que nos dirá qual MDA está em uso.
MadHatter 5/10
Sim, é procmail. Yaay! P=/usr/bin/procmailé o código Obrigado :)
Eduard Luca
Mas eu não tenho procmailrcarquivo. Me faz pensar se meu sendmail + procmail é realmente usado.
Eduard Luca
Se ele está configurado no sendmail e seu e-mail está sendo entregue, ele está usando o procmail (com os padrões compilados). Veja a página de manual do procmail - normalmente ele usa / etc / procmailrc e ~ / .procmailrc e, se nenhum deles for encontrado, ele envia o email de acordo com a configuração no momento da compilação.
symcbean
6

Se você tiver outros diretórios além do padrão configurado, consulte seu /etc/mail/sendmail.cf para ver como os caminhos estão definidos.

Isso não apenas varia entre a distribuição do SO, mas também os diretórios padrão entre as diferentes versões do sendmail foram alterados. Em resumo, apenas para dizermos os padrões, precisamos saber a versão do sistema operacional E a versão do sendmail. Os padrões são / var / spool / mail / $ USERNAME para a lista de e-mails, se um usuário ler a mensagem com outro aplicativo, ela geralmente será movida para $ HOME / mbox.

Aqui está uma lista de diretórios de email comuns:

  • / var / mail / $ USERNAME
  • / var / spool / mail / $ USERNAME
  • $ HOME / mbox
  • $ HOME / correio
  • $ HOME / Maildir
Paulo
fonte
Obrigado, mas sob qual nome de variável devo procurar no arquivo de configuração? Eu li algo sobre, $MAIL = mas não consigo encontrá-lo no arquivo de configuração. Eu verifiquei / var / spool / mail / root, existem alguns e-mails, mas não os corretos (e tenho certeza que eles não foram lidos, desde que enviei um e-mail e verifiquei rapidamente o arquivo - não estava lá).
Eduard Luca
3

Depende de como está configurado, mas o local usual é /var/spool/mail, ou algumas distros /var/mail. Se não estiver em nenhum desses lugares, avise-nos e começaremos a cavar !

Chapeleiro Louco
fonte
Existem alguns emails, /var/spool/mail/rootmas apenas os emails locais (enviados de raiz para raiz).
Eduard Luca
O que mais tem /var/spool/mail?
MadHatter
Um arquivo chamado rpctotalmente vazio.
Eduard Luca