Solução completa com o sendmail (segunda edição)
Quase 2 anos após ter escrito a primeira versão deste artigo, chegou a hora de rescrevê-lo com informações adicionais e atualizadas. Dentre seus recursos podemos citar o suporte a SMTP TLS e POP SSL (criptografado), antivírus, antiSPAM, autenticação SMTP e sistema de quota de usuário.
Parte 6: Usando os arquivos .db
Vamos configurar os arquivos para que seu servidor passe os e-mails sem problemas nenhum.
- /etc/mail/access - Usado para dizer quem tem acesso ao servidor e quais domínios recebem e-mail;
- /etc/mail/aliases - Apelidos de caixa de mensagem;
- /etc/mail/local-host-names - Lista dos hosts que o sendmail aceita mensagens;
- /etc/mail/mailer.conf - Arquivo de configuração do Mailer;
- /etc/mail/mailertable - Tabela de entrega do mailer;
- /etc/mail/sendmail.cf - O arquivo de configuração principal do sendmail;
- /etc/mail/virtusertable - Usuários virtuais e tabelas de domínios;
- /etc/mail/host-relay - Serve para informar quem pode conectar no servidor sem autenticação.
seudominio.com.br OK
Crie um usuário chamado login_seudominio_com_br para redirecionar o e-mail correspondente para ele. Após isso edite o arquivo /etc/mail/virtusertable e informe o seguinte conteúdo.
login@seudominio.com.br login_seudominio_com_br
@seudominio.com.br error:nouser
@seudominio.com.br error:nouser
OBS: A regra da acima informa que todo email que vier para login@seudominio.com.br vai para login_seudominio.com.br e o resto que vier para @seudominio.com.br não existe. Sendo assim, evitamos que, por exemplo, uma pessoa mande um e-mail para root@seudominio.com.br e caia no usuário root.
Vale lembrar também que estou usando esse formato de login para que possamos ter por exemplo: joaopaulo@seudominio.com.br, joaopaulo@seudominio2.com.br e por aí vai.
Poderíamos informar também assim: "@seudominio.com.br login_seudominio.com.br", dessa forma todos os e-mails que forem @seudominio.com.br irão para login_seudominio.com.br.
Uma informação que devemos guardar sempre é que a prioridade segue pela ordem, no configuração informada por exemplo, da prioridade a "login@seudominio.com.br login_seudominio.com.br" porque o mesmo vem informado antes do "@seudominio.com.br error:nouser", se fosse ao inverso, todos os emails iriam dar como inválidos, concordas?
Vamos informar também no arquivo /etc/mail/local-host-names o seu domínio para que o servidor possa aceitar mensagens vindas para ele. Basta informar o conteúdo abaixo dentro do arquivo.
seudominio.com.br
OBS: Sempre que alterarmos os arquivos acima é necessário reiniciar o sendmail.
Vamos montar um script para montar os DBs necessários para o sendmail interpretar todas as suas regras.
Criando o arquivo:
# touch /etc/mail/database.sh
# chmod +x /etc/mail/database.sh
Montando o script:
Coloque o conteúdo abaixo dentro /etc/mail/database.sh:
#!/bin/bash
rm /etc/mail/*.db
makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
makemap hash /etc/mail/access.db < /etc/mail/access
makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable
makemap hash /etc/mail/aliases.db < /etc/mail/aliases
rm /etc/mail/*.db
makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
makemap hash /etc/mail/access.db < /etc/mail/access
makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable
makemap hash /etc/mail/aliases.db < /etc/mail/aliases
Os arquivos para ativação de quota no slackware mudaram!
# touch /aquota.user
# touch /aquota.group
# chmod 600 /aquota.user
# chmod 600 /aquota.group