exim Serviço de email transacional
Agente de transferência de correio de código aberto como alternativa ao Sendmail
O EXIM é um agente de transferência de correio de código aberto altamente personalizável para roteamento e entrega de email. É a opção número um para organizações de nível corporativo para sua flexibilidade.
Visão geral
A comunicação via correio eletrônico tornou -se primitivo em nossas vidas. Enviar e -mails do desktop, móvel ou qualquer outro dispositivo é um caso diário para a maioria das pessoas. O Simple Mail Transfer Protocol (SMTP) é o protocolo padrão usado para enviar emails. IMAP e POP3 são os protocolos para receber e -mails. O IMAP tem algumas vantagens sobre o POP devido à sincronização entre os dispositivos. Portanto, um agente de transferência de correio que abre e suporta todos esses protocolos necessários é crucial. A execução do seu agente de transferência de correio é um trabalho muito tedioso e, portanto, a escolha que você faz para o software MTA exige uma análise profunda em relação à sua matriz de requisitos. O EXIM é um dos agentes de transferência de correio de código aberto mais flexíveis que podem ser usados como substituição do agente de transferência de correio padrão dos sistemas mais UNIX. O EXIM vem com um pacote de recursos de ponta, incluindo compatibilidade do Sendmail, suporte ao CPALEL, configuração flexível e, acima de tudo, um enorme suporte à comunidade de código aberto. O EXIM é como uma estrutura com seu idioma de aplicativo para configurar configurações complexas. Possui uma lógica avançada de processamento de correio em várias etapas, que ajuda a resolver casos de uso complexos. O Sendmail já está perdido para o Postfix em todos os aspectos, no entanto, o Postfix é menos versátil do que exim. Possui excelente suporte de integração e fornece tudo o que um administrador do sistema pode perguntar. O EXIM suporta a maioria dos recursos do agente de transferência de correio de uma maneira ou de outra.
Requisitos de sistema
Antes de criar o EXIM, um arquivo de configuração local que especifica opções independentes de qualquer sistema operacional deve ser criado com o nome local/makefile. Um modelo para este arquivo é fornecido como o arquivo src/editMe e contém descrições completas de todas as configurações da opção. Essas descrições, portanto, não são repetidas aqui. Se você está construindo o Exim pela primeira vez, a coisa mais simples a fazer é copiar SRC/EditMe para o local/makefile, depois leia -o e edite -o adequadamente. Existem três configurações que você deve fornecer, porque a EXIM não será construída sem elas. Eles são o local do arquivo de configuração de tempo de execução (configure \ _file), o diretório no qual os binários exim serão instalados (bin \ _directory) e a identidade do usuário exim (exim \ _User e talvez exim \ _Group também). O valor da configuração \ _File pode de fato ser uma lista de nomes de arquivos separada pelo cólon; Exim usa o primeiro deles que existe. Existem alguns outros parâmetros que podem ser especificados no horário de construção ou no tempo de execução, para permitir que o mesmo binário seja usado em várias máquinas diferentes. No entanto, se os locais do diretório de spool da Exim e do diretório de arquivos de log (se não estiver dentro do diretório de spool) forem corrigidos, é recomendável que você os especifique no local/makefile em vez de no tempo de execução, para que os erros detectados no início da execução de Exim (como como um arquivo de configuração malformado) pode ser registrado. As interfaces da EXIM para chamar o software de varredura de vírus e spam diretamente das listas de controle de acesso não são compiladas por padrão. Se você deseja incluir essas instalações, precisa definir
WITH_CONTENT_SCAN=yes
no seu local/makefile. Para detalhes das próprias instalações Se você for construir o monitor Exim, é necessário um processo de configuração semelhante. O arquivo exim \ _monitor/editMe deve ser editado adequadamente para sua instalação e salvo sob o nome local/eximon.conf. Se você estiver satisfeito com as configurações padrão descritas no Exim \ _Monitor/EditMe, Local/Eximon.conf pode estar vazio, mas deve existir. Esta é toda a configuração necessária em casos diretos para sistemas operacionais conhecidos. No entanto, o processo de construção é configurado para que seja fácil substituir as opções definidas por padrão ou por arquivos de configuração específicos para o sistema operacional, por exemplo, para alterar o compilador C, que padroniza o GCC.
Características
O EXIM suporta todos os recursos modernos que você pode imaginar no software de agente de transferência de correio aberto de código aberto. Estas são algumas das principais características do exim:
- Exim segue a mesma abordagem geral de controle descentralizado que o SMAIL. Não há processo central fazendo gerenciamento geral da entrega de correio. No entanto, diferentemente do SMAIL, os processos de entrega independentes compartilham dados na forma de “dicas”, o que torna a entrega mais eficiente em alguns casos. As dicas são mantidas em vários arquivos DBM. Se algum desses arquivos for perdido, o único efeito é alterar o padrão de tentativas e tentativas de entrega.
- Muitas opções de configuração podem ser dadas como seqüências de expansão, que são transformadas de várias maneiras quando são usadas. Como estes podem incluir pesquisas de arquivo, grande parte da operação da EXIM pode ser feita de mesa, se desejar. Por exemplo, é possível fazer entrega local em uma máquina na qual os usuários não possuem contas. A flexibilidade final pode ser obtida (a um preço) executando um intérprete Perl enquanto expandiu uma string.
- Acesso para visualizar mensagens históricas.
- Acesso para visualizar a saída completa & amp; Fila de mensagens recebida.
- O EXIM possui algoritmos de repetição flexíveis, aplicáveis aos endereços de direção e roteamento, bem como à entrega.
- O EXIM contém instalações de reescrita de cabeçalho e envelope.
- Endereços não qualificados são aceitos apenas de hosts ou redes especificadas.
- O EXIM pode executar várias entregas no mesmo canal SMTP depois que as entregas foram adiadas.
- O EXIM pode ser configurado para fazer entregas locais imediatamente, mas para deixar entregas remotas (SMTP) até que a mensagem seja captada por um processo de corredor de filas. Isso aumenta a probabilidade de várias mensagens serem enviadas por uma única conexão SMTP.
- Entregas remotas da mesma mensagem para hosts diferentes podem opcionalmente ser feitas em paralelo.
- As mensagens SMTP recebidas iniciam a entrega assim que forem recebidas, sem esperar a chamada SMTP para fechar.
- O EXIM possui suporte para a extensão de autenticação SMTP para autenticação de clientes e para a extensão STARTTLS para configurar conexões criptografadas.
- Expressões regulares compatíveis com Perl estão disponíveis em vários parâmetros de configuração.
- As listas de domínio podem incluir pesquisas de arquivo, possibilitando suportar números muito grandes de domínios locais.
- O EXIM suporta a verificação opcional do caminho de retorno recebido (remetente) e endereços de receptor conforme recebidos pelo SMTP.
- As chamadas SMTP de máquinas específicas, opcionalmente de identis específicas, podem ser bloqueadas, e as mensagens SMTP recebidas de remetentes específicas também podem ser bloqueadas. O EXIM também suporta o uso da lista de bloqueio em tempo real (RBL).
- Os hosts permitidos a retransmitir correio através de uma máquina para outro domínio externo podem ser controlados por número de IP ou número de rede IP. O controle de relé por domínio do destinatário e endereço do remetente também está disponível.
- As mensagens na fila podem ser “congeladas” e “descongeladas” pelo administrador.
- O EXIM pode lidar com vários domínios locais independentes na mesma máquina; Cada domínio pode ter seus próprios arquivos de alias, etc. Essa instalação às vezes é conhecida como “domínios virtuais”.
- As listas simples de discussão podem ser tratadas diretamente pelo próprio Exim (mas para operações de lista de discussão “sérias”, é melhor usá -lo em conjunto com o software especializado da lista de discussão).
- Exim Stats O diretório inicial de um usuário antes de procurar um arquivo `.forward ‘, para detectar o caso de uma montagem NFS ausente. A entrega está atrasada se o diretório não estiver disponível.
- O EXIM contém uma instalação opcional de filtragem de correio integrada. Isso pode ser configurado para permitir que os usuários forneçam arquivos de filtro pessoais e também é possível que um arquivo de filtro em todo o sistema seja aplicado a cada mensagem.
- Há suporte para várias caixas de correio do usuário controladas por prefixos ou sufixos no nome do usuário, através do mecanismo de filtro ou por vários arquivos `.forward ‘.
- Os avisos periódicos são enviados automaticamente aos remetentes das mensagens quando a entrega é adiada - o tempo entre os avisos é configurável. Os avisos podem ser condicionais ao conteúdo da mensagem.
- Uma execução da fila pode ser iniciada manualmente para fornecer apenas uma parte específica da fila, ou aquelas mensagens com um destinatário cujo endereço contém uma determinada string. Há suporte para o comando ETRN no SMTP para interface com isso.
- O EXIM pode ser configurado para ser executado como root o tempo todo, exceto ao executar entregas locais, o que sempre faz em um processo separado sob um UID e GID apropriados. Como alternativa, ele pode ser configurado para ser executado como root somente quando necessário; Em particular, ele não precisa ser executado como root ao receber mensagens recebidas ou ao enviar mensagens sobre o SMTP. Consulte o capítulo 55 para uma discussão sobre questões de segurança.
- Tentei tornar mais clara a redação das mensagens de falha de entrega, para o benefício das pessoas menos experientes que agora estão usando o email. A redação alternativa para essas mensagens pode ser fornecida em um arquivo separado.
- O monitor Exim é um extra opcional; Ele exibe informações sobre o processamento da EXIM em uma janela X e um administrador pode executar várias ações de controle da interface da janela. No entanto, todas essas ações também estão disponíveis na interface da linha de comando.
Instruções de instalação
Instalando binários e scripts exim
O comando Make Install executa o script exim \ _install sem argumentos. O script copia binários e scripts de utilidade no diretório cujo nome é especificado pela configuração do Diretor de Bin \ _directory no local/makefile. O script de instalação copia os arquivos apenas se forem mais novos que os arquivos que eles vão substituir. O binário exim deve pertencer à raiz e ter o conjunto de bits setuid, para configurações normais. Portanto, você deve executar a instalação da instalação como raiz para que ela possa configurar o binário exim dessa maneira. No entanto, em algumas situações especiais (por exemplo, se um host não estiver fazendo entregas locais), pode ser possível executar o Exim sem fazer a raiz binária do setuid (consulte o Capítulo 56 para obter detalhes). O arquivo de configuração de tempo de execução da EXIM é nomeado pela configuração de configuração \ _file no local/makefile. Se isso nomeia um único arquivo e o arquivo não existir, o arquivo de configuração padrão src/configure.default será copiado lá pelo script de instalação. Se já existir um arquivo de configuração de tempo de execução, ele será deixado sozinho. Se configurar \ _file for uma lista separada pelo cólon, nomeando vários arquivos alternativos, nenhum padrão será instalado. Uma alteração é feita no arquivo de configuração padrão quando é instalado: a configuração padrão contém um roteador que faz referência a um arquivo de aliases do sistema. O caminho para este arquivo é definido para o valor especificado pelo sistema \ _Aliases \ _File no local/makefile (/etc/aliases por padrão). Se o arquivo aliases do sistema não existir, o script de instalação o criará e gera um comentário para o usuário. O arquivo criado não contém aliases, mas contém comentários sobre os aliases que um site deve ter normalmente. Os aliases de correio são tradicionalmente mantidos em /etc /aliases. No entanto, alguns sistemas operacionais agora estão usando/etc/correio/aliases. Você deve verificar se o seu é um desses e altere a configuração da EXIM, se necessário. A configuração padrão usa o nome do host local como o único domínio local e é configurado para fazer entregas locais no diretório /var /e -mail compartilhado, executando como usuário local. Aliases do sistema e arquivos. Para os diretórios residenciais dos usuários são suportados, mas nenhum suporte NIS ou NIS+ está configurado. Domínios diferentes do nome do host local são roteados usando o DNS, com entrega sobre SMTP. É possível instalar o EXIM para fins especiais (como a construção de uma distribuição binária) em uma parte privada do sistema de arquivos. Você pode fazer isso por um comando como
make DESTDIR=/some/directory/ install
Isso tem o efeito de pré-esperar o diretório especificado para todos os caminhos do arquivo, exceto o nome do arquivo aliases do sistema que aparece na configuração padrão. (Se um arquivo de alias padrão for criado, seu nome será modificado.) Para compatibilidade com versões anteriores, o root será usado se o Destdir não estiver definido, mas esse uso for descontinuado. Em execução, o MAGE Install não copia o script de conversão EXIM 4 Convert4R4. Você provavelmente executará isso apenas uma vez se estiver atualizando do EXIM 3. Nenhum dos arquivos de documentação no diretório do documento for copiado, exceto os arquivos de informações quando você definir informações \ _directory, conforme descrito na Seção 4.17 abaixo. Para os programas de serviços públicos, as versões antigas são renomeadas adicionando o sufixo .o aos seus nomes. O próprio binário exim, no entanto, é tratado de maneira diferente. Ele está instalado em um nome que inclui o número da versão e o número de compilação, por exemplo, EXIM-4.94-1. O script então organiza um link simbólico chamado Exim para apontar para o binário. Se você estiver atualizando uma versão anterior do EXIM, o script tome cuidado para garantir que o nome exim nunca esteja ausente do diretório (como visto por outros processos). Se você quiser ver o que a instalação Make fará antes de executá -la de verdade, você pode passar a opção -n para o script de instalação por este comando:
make INSTALL_ARG=-n install
O conteúdo da variável install \ _arg é passado para o script de instalação. Você não precisa ser raiz para executar este teste. Como alternativa, você pode executar o script de instalação diretamente, mas isso deve ser dentro do diretório de construção. Por exemplo, a partir do diretório EXIM de nível superior, você pode usar este comando:
(cd build-SunOS5-5.5.1-sparc; ../scripts/exim_install -n)
Existem duas outras opções que podem ser fornecidas ao script de instalação.
- -no \ _Chown ignora a chamada para alterar o proprietário do binário instalado para root e a chamada para torná -la um binário setuido.
- -no \ _Symlink Itimpes a configuração do link simbólico exim para o binário instalado. Instale \ _arg pode ser usado para passar essas opções para o script. Por exemplo:
make INSTALL_ARG=-no_symlink install
O script de instalação também pode receber argumentos especificando quais arquivos devem ser copiados. Por exemplo, para instalar apenas o binário exim e nada mais, sem criar o link simbólico, você pode usar:
make INSTALL_ARG='-no_symlink exim' install
Instalando a documentação de informações
Nem todos os sistemas usam o sistema de informações GNU para documentação e, por esse motivo, a fonte da documentação do Texinfo não está incluída na distribuição principal. Em vez disso, está disponível separadamente no site FTP (consulte a Seção 1.5). Se você definiu informações \ _directory no local/makefile e a fonte do Texinfo da documentação é encontrada na árvore de origem, a execução do Faz o Install cria automaticamente os arquivos de informação e os instala.