A configuração do sendmail que o FreeBSD traz é voltada para locais que estejam conectados diretamente à internet. Locais que desejam trocar mensagens via UUCP devem instalar outro arquivo de configuração do sendmail.
Ajustar o /etc/mail/sendmail.cf manualmente é um tópico avançado. O sendmail na versão 8 gera os arquivos de configuração pelo m4(1) através de pré-processamento, onde a configuração atual ocorre em um nível mais alto de abstração. Os arquivos de configuração do m4(1) podem ser encontradas sob /usr/src/usr.sbin/sendmail/cf.
Se você não tiver instalado seu sistema com todos os fontes, a configuração do sendmail vai estar quebrado em um arquivo de fonte separado na distribuição. Assumindo que você tem o código fonte do FreeBSD montando em CDROM, faça:
# cd /cdrom/src # cat scontrib.?? | tar xzf - -C /usr/src/contrib/sendmail
Isto irá descompactar somente alguns cem kilobytes. O arquivo README no diretório cf pode servir como uma introdução básica a configuração do m4.
A melhor maneira de suportar a entrega UUCP é usar a característica mailertable. Isto cria uma base de dados que o sendmail pode usar para tomar decisões de roteamento.
Primeiro, você deve criar seu arquivo .mc O diretório /usr/src/usr.sbin/sendmail/cf/cf contém alguns exemplos. Assumindo que você nomeou seu arquivo como foo.mc, tudo que você precisa fazer é converte-lo em um sendmail.cf válido:
# cd /usr/src/usr.sbin/sendmail/cf/cf # make foo.cf # cp foo.cf /etc/mail/sendmail.cf
Um típico arquivo .mc pode ser dessa forma:
VERSIONID(`O número de sua versão') OSTYPE(bsd4.4) FEATURE(accept_unresolvable_domains) FEATURE(nocanonify) FEATURE(mailertable, `hash -o /etc/mail/mailertable') define(`UUCP_RELAY', seu.uucp.relay) define(`UUCP_MAX_SIZE', 200000) define(`confDONT_PROBE_INTERFACES') MAILER(local) MAILER(smtp) MAILER(uucp) Cw seu.apelido.host.nome Cw seunomeuucp.UUCP
As linhas que contém as características accept_unresolvable_domains, nocanonify, e confDONT_PROBE_INTERFACES impedirão todo o uso do DNS durante a entrega de mensagens. A opção UUCP_RELAY é necessária suportar entrega UUCP. Coloque simplesmente um hostname da internet lá que esteja apto a gerenciar. Endereços do pseudo-domínio do UUCP; muito provável que, você irá entrar lá no relay de mensagens do seu provedor de serviços internet.
Uma vez que você tenha isto, você precisa do arquivo /etc/mail/mailertable. Se você tem somente um link para fora que estará sendo usada para todos os seu emails, a seguinte linha será suficiente:
# # makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable . uucp-dom:seu.uucp.relay
Um exemplo mais complexo pode ser como este:
# # makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable # horus.interface-business.de uucp-dom:horus .interface-business.de uucp-dom:if-bus interface-business.de uucp-dom:if-bus .heep.sax.de smtp8:%1 horus.UUCP uucp-dom:horus if-bus.UUCP uucp-dom:if-bus . uucp-dom:
As primeiras três linhas gerenciam especialmente casos onde o domínio endereçado de mensagens não pode ser enviado para fora pela rota padrão, mas preferivelmente ser entregue por algum ``atalho'' vizinho UUCP. As próximas linhas gerencia para o domínio ethernet local que pode ser entregue usando SMTP. Finalmente, os vizinhos UUCP são mencionados na notação do pseudo-domínio .UUCP, para permitir um uucp-vizinho de !recipiente sobreescreva as regras padrões. A última linha é sempre somente um ponto único, colocando tudo mais, com a entrega UUCP a um vizinho do UUCP que sirva como gateway de correio universal para o mundo. Todos os nomes de estação atrás uucp-dom: palavra chave deve ser um vizinho UUCP válido como você pode verificar usando o comando uuname.
Como lembrete, este arquivo necessita ser convertido em uma base de dados DBM antes de ser usado. A linha de comando para realizar isto é colocada como comentário no alto do mailertable. Você sempre tem que executar esse comando cada vez que você modificar seu mailertable.
Sugestão final: se você estiver incerto de algum roteamento particular que o correio deveria funcionar, lembre da opçao -bt do sendmail. Isto inicia o sendmail em modo de teste de endereços; simplesmente entre com 3,0, seguido pelo endereço que você deseja testar para roteamento de correio. A última linha fala o agente de correio interno usado, o host de destino que esse agente estará chamando, e o (possivelmente traduzindo) endereço. Saia deste modo digitando Ctrl+D.
% sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address> > 3,0 foo@exemplo.com canonify input: foo @ exemplo . com ... parse returns: $# uucp-dom $@ seu.relay.uucp $: foo < @ exemplo . com . > > ^D
Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.