Qmail Guia de Consulta

71
Qmail - Guia de consulta Rodrigo Pereira Telles, Devel-IT [http://www.devel.it] <telles (at) devel (dot) it> Copyright © 2005 por Rodrigo P. Telles. 2005-06-07 Histórico de Revisões Revisão 1.0 2005-06-01 rpt Release qmail é um seguro, confiável, eficiente e simples agente de transferência de mensagens (MTA – Mail Transfer Agent). Foi desenhado para efetuar conexões pela internet entre servidores SMTP. Hoje, é o segundo servidor SMTP mais comumente encontrado na internet e é de longe, o servidor SMTP que mais cresce na internet. Este guia foi escrito com o intuito de auxiliar os iniciantes em qmail bem como os já experientes administradores de sistema a aproveitar ao máximo todos os recursos deste fantástico MTA. Índice Programas do pacote qmail ........................................................................................................... 4 mailsubj ............................................................................................................................ 4 qmail-clean ........................................................................................................................ 4 qmail-inject ........................................................................................................................ 4 qmail-local ........................................................................................................................ 5 qmail-lspawn ...................................................................................................................... 6 qmail-pop3d ....................................................................................................................... 6 qmail-popup ....................................................................................................................... 6 qmail-qmqpc ...................................................................................................................... 7 qmail-qmqpd ...................................................................................................................... 7 qmail-qmtpd ...................................................................................................................... 7 qmail-queue ....................................................................................................................... 8 qmail-remote .................................................................................................................... 11 qmail-rspawn ................................................................................................................... 12 qmail-send ....................................................................................................................... 12 qmail-smtpd ..................................................................................................................... 12 qmail-start ....................................................................................................................... 13 sendmail .......................................................................................................................... 13 splogger .......................................................................................................................... 13 Utilitários do qmail .................................................................................................................... 14 bouncesaying ................................................................................................................... 15 condredirect ..................................................................................................................... 15 except ............................................................................................................................. 15 forward ........................................................................................................................... 16 maildirwatch .................................................................................................................... 16 preline ............................................................................................................................ 16 qbiff ............................................................................................................................... 17 qreceipt ........................................................................................................................... 17 Utilitários de administração ......................................................................................................... 17 maildir2mbox ................................................................................................................... 17 1

description

Qmail Guia de Consulta

Transcript of Qmail Guia de Consulta

  • Qmail - Guia de consultaRodrigo Pereira Telles, Devel-IT [http://www.devel.it] Copyright 2005 por Rodrigo P. Telles.

    2005-06-07Histrico de Revises

    Reviso 1.0 2005-06-01 rptRelease

    qmail um seguro, confivel, eficiente e simples agente de transferncia de mensagens (MTA Mail Transfer Agent). Foi desenhado para efetuar conexes pela internet entre servidores SMTP.Hoje, o segundo servidor SMTP mais comumente encontrado na internet e de longe, o servidorSMTP que mais cresce na internet.

    Este guia foi escrito com o intuito de auxiliar os iniciantes em qmail bem como os j experientesadministradores de sistema a aproveitar ao mximo todos os recursos deste fantstico MTA.

    ndiceProgramas do pacote qmail ........................................................................................................... 4

    mailsubj ............................................................................................................................ 4qmail-clean ........................................................................................................................ 4qmail-inject ........................................................................................................................ 4qmail-local ........................................................................................................................ 5qmail-lspawn ...................................................................................................................... 6qmail-pop3d ....................................................................................................................... 6qmail-popup ....................................................................................................................... 6qmail-qmqpc ...................................................................................................................... 7qmail-qmqpd ...................................................................................................................... 7qmail-qmtpd ...................................................................................................................... 7qmail-queue ....................................................................................................................... 8qmail-remote .................................................................................................................... 11qmail-rspawn ................................................................................................................... 12qmail-send ....................................................................................................................... 12qmail-smtpd ..................................................................................................................... 12qmail-start ....................................................................................................................... 13sendmail .......................................................................................................................... 13splogger .......................................................................................................................... 13

    Utilitrios do qmail .................................................................................................................... 14bouncesaying ................................................................................................................... 15condredirect ..................................................................................................................... 15except ............................................................................................................................. 15forward ........................................................................................................................... 16maildirwatch .................................................................................................................... 16preline ............................................................................................................................ 16qbiff ............................................................................................................................... 17qreceipt ........................................................................................................................... 17

    Utilitrios de administrao ......................................................................................................... 17maildir2mbox ................................................................................................................... 17

    1

  • maildirmake ..................................................................................................................... 18qmail-getpw ..................................................................................................................... 18qmail-newmrh .................................................................................................................. 19qmail-newu ...................................................................................................................... 19qmail-pw2u ...................................................................................................................... 19qmail-qread ...................................................................................................................... 21qmail-qstat ....................................................................................................................... 21qmail-showctl ................................................................................................................... 21qmail-tcpok ...................................................................................................................... 21qmail-tcpto ...................................................................................................................... 22tcp-env ............................................................................................................................ 22

    Arquivos de controle/configurao ............................................................................................... 22badmailfrom .................................................................................................................... 22bouncefrom ...................................................................................................................... 22bouncehost ...................................................................................................................... 23concurrencylocal ............................................................................................................... 23concurrencyremote ............................................................................................................ 23databytes ......................................................................................................................... 23defaultdomain .................................................................................................................. 24defaulthost ....................................................................................................................... 24doublebouncehost ............................................................................................................. 24doublebounceto ................................................................................................................ 24envnoathost ...................................................................................................................... 24helohost .......................................................................................................................... 25idhost .............................................................................................................................. 25localiphost ....................................................................................................................... 25locals .............................................................................................................................. 25me .................................................................................................................................. 25morercpthosts ................................................................................................................... 26percenthack ...................................................................................................................... 26plusdomain ...................................................................................................................... 26qmqpservers ..................................................................................................................... 26queuelifetime ................................................................................................................... 26rcpthosts .......................................................................................................................... 27smtpgreeting .................................................................................................................... 27smtproutes ....................................................................................................................... 27timeoutconnect ................................................................................................................. 28timeoutremote .................................................................................................................. 28timeoutsmtpd ................................................................................................................... 28virtualdomains .................................................................................................................. 28

    Variveis de Ambiente ............................................................................................................... 29DATABYTES .................................................................................................................. 29DEFAULT ...................................................................................................................... 29DTLINE .......................................................................................................................... 29EXT ............................................................................................................................... 29EXT2 .............................................................................................................................. 29EXT3 .............................................................................................................................. 29EXT4 .............................................................................................................................. 29HOME ............................................................................................................................ 30HOST ............................................................................................................................. 30HOST2 ........................................................................................................................... 30HOST3 ........................................................................................................................... 30HOST4 ........................................................................................................................... 30LOCAL ........................................................................................................................... 30MAILHOST/QMAILHOST ................................................................................................ 30MAILNAME/QMAILNAME/NAME ................................................................................... 30MAILUSER/QMAILUSER/USER/LOGNAME ..................................................................... 30NEWSENDER ................................................................................................................. 30

    Qmail - Guia de consulta

    2

  • QMAILDEFAULTDOMAIN .............................................................................................. 31QMAILDEFAULTHOST ................................................................................................... 31QMAILIDHOST ............................................................................................................... 31QMAILINJECT ................................................................................................................ 31QMAILMFTFILE ............................................................................................................. 31QMAILPLUSDOMAIN ..................................................................................................... 31QMAILSHOST/QMAILSUSER .......................................................................................... 31RECIPIENT ..................................................................................................................... 32RELAYCLIENT ............................................................................................................... 32RPLINE .......................................................................................................................... 32SENDER ......................................................................................................................... 32UFLINE .......................................................................................................................... 32

    Sistema de Aliases/Forwards ....................................................................................................... 32dot-qmail ......................................................................................................................... 32$HOME/.qmail- alias ......................................................................................................... 33qmail-users - assign/cdb ..................................................................................................... 35

    O programa dot-forward ............................................................................................................. 36dot-forward ...................................................................................................................... 36

    Programas do pacote fastforward .................................................................................................. 38fastforward ...................................................................................................................... 38newaliases ....................................................................................................................... 39newinclude ...................................................................................................................... 42printforward ..................................................................................................................... 42printmaillist ..................................................................................................................... 43setforward ....................................................................................................................... 44setmaillist ........................................................................................................................ 46

    O programa checkpassword ........................................................................................................ 46checkpassword ................................................................................................................. 46

    Sistema de entrega .................................................................................................................... 48Mailbox .......................................................................................................................... 48Maildir ............................................................................................................................ 50

    Programas do pacote ucspi-tcp ..................................................................................................... 51addcr .............................................................................................................................. 51argv0 .............................................................................................................................. 52date@ ............................................................................................................................. 52delcr ............................................................................................................................... 52finger@ ........................................................................................................................... 52fixcrio ............................................................................................................................. 53http@ ............................................................................................................................. 53mconnect ......................................................................................................................... 53rblsmtpd .......................................................................................................................... 54recordio ........................................................................................................................... 55tcpcat .............................................................................................................................. 55tcpclient .......................................................................................................................... 55tcprules ........................................................................................................................... 57tcprulescheck ................................................................................................................... 58tcpserver ......................................................................................................................... 59who@ ............................................................................................................................. 61

    Variveis de ambiente utilizadas por tcp-env, tcpserver e tcpclient ...................................................... 61Programas do pacote daemontools ................................................................................................ 62

    envdir ............................................................................................................................. 62envuidgid ........................................................................................................................ 63fghack ............................................................................................................................. 63multilog .......................................................................................................................... 63pgrphack ......................................................................................................................... 66readproctitle ..................................................................................................................... 66setlock ............................................................................................................................ 66setuidgid ......................................................................................................................... 67

    Qmail - Guia de consulta

    3

  • softlimit .......................................................................................................................... 67supervise ......................................................................................................................... 68svc ................................................................................................................................. 68svok ............................................................................................................................... 69svscan ............................................................................................................................. 69svscanboot ....................................................................................................................... 69svstat .............................................................................................................................. 70tai64n ............................................................................................................................. 70tai64nlocal ....................................................................................................................... 71

    Programas do pacote qmailmailsubj

    mailsubj assunto recipiente1 recipiente2 ...Recebe o corpo da mensagem via STDIN (entrada padro), insere assunto como subject da mensagem e envia pararecipiente1 e recipiente2.

    Ex:

    $ cat /etc/hosts | /var/qmail/bin/mailsubj "Somente teste." [email protected] [email protected]

    qmail-cleanRemove da fila de e-mail, e-mails que no foram enviados por motivo de erro. Geralmente o e-mail removido pormotivo de tempo esgotado na tentativa de envi-lo N vezes, e indisponibilidade da caixa de correio do remetente queo gerou.

    qmail-injectqmail-inject [ -nNaAhH ] [ -f sender ] [ recipiente1 recipiente2 ... ]Recebe mensagens via STDIN (entrada padro), adiciona informaes no cabealho da mensagem, e invoca o pro-grama qmail-queue para enviar a mensagem para hum ou mais recipientes.

    qmail-inject normalmente sai com cdigo de erro 0 (zero). Se invocado incorretamente ou caso a mensagem tenhasrios problemas de syntaxe, sai com cdigo de erro 100. Em caso de erros temporrios, sai com cdigo de erro 111.

    Geralmente o programa qmail-inject utilizado por clientes de e-mail que no suportam o protocolo SMTP para en-vio de e-mails, e o substituto direto do programa sendmail.

    Opes Descrio

    -nImprime a mensagem recebida via STDIN (entrada padro) em STDOUT (sada padro) ao invs de re-pass-la ao programa qmail-queue.

    -N Repassa a mensagem recebida via STDIN para qmail-queue (Padro).

    -aEnvia a mensagem recebida via STDIN para todos os endereos de recipientes especificados via linhade comando. Ignora recipientes contidos no cabealho da mensagem.

    -A Envia a mensagem recebida via STDIN para todos os recipientes especificados via linha de comando.

    Qmail - Guia de consulta

    4

  • Opes DescrioSe nenhum endereo de recipiente for especificado via linha comando, utilizar os endereos de recipi-entes contidos no cabealho da mensagem (Padro).

    -h

    Envia a mensagem recebida via STDIN para todos os endereos de recipientes contidos no cabealhoda mensagem. Para mensagens que no so forwards, significa que sero utilizados os endereos de e-mail contidos nos campos To, Cc, Bcc e Apparently-To do cabealho da mensagem. Para mensagensque so forwards, sero utilizados os endereos de e-mail contidos nos campos Resent-To, Resent-Cc eResent-Bcc do cabealho da mensagem. Ignora recipientes especificados via linha de comando.

    -H Envia a mensagem recebida via STDIN para todos os endereos de e-mail contidos no cabealho damensagem e todos os recipientes especificados via linha de comando.

    -f senderRepassa a mensagem recebida via STDIN para o programa qmail-queue substituindo o endereo desender da mensagem por sender. Substitui tambm o contedo do campo Return-Path do cabealho damensagem e variveis de ambiente por sender.

    recipiente1 Endereo de e-mail do primeiro recipiente.

    recipiente2 Endereo de e-mail do segundo recipiente.

    qmail-localqmail-local [ -nN ] usurio diretrio-home local trao extenso domnio sender defaultdeliveryEntrega ou encaminha e-mails para contas locais.

    Executa tarefas muito importantes como, detectar se o e-mail est em loop - quando j possui Delivered-To entreos cabealhos do e-mail, denunciando que o e-mail j foi entregue 1 (uma) vez para este destinatrio.O recipiente da mensagem ser local@domnio. qmail-local criar um novo cabealho Delivered-To na mensa-gem contendo local@domnio.

    Caso o cabealho Delivered-To: local@domain j exista na mensagem, qmail-local devolve a mensagem, identifi-cando-a como em loop de entrega.

    O sender da mensagem ser sender, e qmail-local criar um novo cabealho Return-Path contendo sender.

    diretrio-home o diretrio $HOME de usurio.

    trao e extenso identificaro qual arquivo .qmailtraoextenso ser utilizado por qmail-local no momento da entre-ga, seguido das instrues contidas em defaultdelivery a serem executadas, caso o arquivo no exista.Se a entrega da mensagem for executada com sucesso, qmail-local sai com cdigo de erro 0 (zero).Se a entrega falhar temporariamente, sai com cdigo de erro 111.

    Se a entrega da mensagem falhar permanentemente, qmail-local sai com cdigo de erro diferente de 0 (zero).

    Opes Descrio

    -n Ao invs de ler e entregar a mensagem, imprime em tela a descrio das instrues de entrega.

    Qmail - Guia de consulta

    5

  • Opes Descrio

    -N L e entrega a mensagem (Padro).

    qmail-lspawnqmail-lspawn defaultdeliveryInvocado pelo programa qmail-send, qmail-lspawn l uma srie de comandos via descriptor 0 (zero), invoca o pro-grama qmail-local para a entrega da mensagem e imprime as mensagens de resultado no descriptor 1.

    defaultdelivery passado ao programa qmail-local como instruo padro de entrega da mensagem.qmail-lspawn invoca qmail-local de forma assncrona, sendo assim, as mensagens de resultado podem no retornarna mesma ordem que os comandos.

    Antes de invocar qmai-local, qmail-lspawn verifica se o endereo do recipiente no est listado no mecanismoqmail-users, se o endereo no estiver listado, invoca o programa qmail-getpw.

    qmail-lspawn ignora endereos de recipientes em branco.

    qmail-pop3dqmail-pop3d maildirname

    Permite ao usurio ler ou remover mensagens em sua caixa de e-mail no servidor POP3.

    Suporta apenas formato de caixa de e-mail do tipo Maildir cada e-mail um arquivo dentro da caixa de e-mail egeralmente utiliza a porta 110/TCP.

    qmail-pop3d geralmente invocado pelo programa qmail-popup, que responsvel por receber informaes de usu-rio e senha.

    maildirname indica o nome do diretrio a ser utilizado por qmail-pop3d na manipulao de mensagens dentro do di-retrio $HOME de cada usurio.

    qmail-pop3d possui timeout de inatividade de 20 minutos.

    qmail-pop3d suporta os comandos UIDL, TOP e LAST.

    qmail-pop3d adiciona uma linha em branco extra a cada mensagem para corrigir alguns bugs srios em certos clien-tes de e-mail.

    qmail-pop3d baseado em um programa contribudo por Russ Nelson.

    qmail-popupqmail-popup nome-do-host subprograma

    Valida usurio e senha dos clientes remotos e executa subprograma. Suporta usurio e senha em texto plano (semencriptao) e mtodo de autenticao encriptada (APOP).Geralmente qmail-pop3d utilizado como subprograma e nome-do-host utilizado em conexes APOP como umaderivao do timestamp de conexo.

    Qmail - Guia de consulta

    6

  • qmail-popup possui timeout de inatividade de 20 minutos.

    qmail-popup baseado em um programa contribudo por Russ Nelson.

    qmail-qmqpcComunica-se com um servidor QMQP (qmail-qmqpd) remoto e o repassa todos os e-mails recebidos.qmail-qmqpc substitui qmail-queue (via link simblico) para entregar as mensagens recebidas ao servidor QMQP.

    qmail-qmqpdRecebe conexes do tipo QMQP de clientes qmail-qmqpc remotos. Uma vez que a conexo aceita, a mensagem entregue diretamente ao programa qmail-queue. Geralmente utiliza a porta 628/TCP.

    Basicamente, QMQP utilizado para enviar mensagens de um servidor qmail a outro servidor qmail de forma rpidae segura.

    NOTA: QMQP (Quick Mail Queuing Protocol) um protocolo desenvolvido por Daniel J. Bernstein e s pode serutilizado entre 2 (dois) servidores qmail.

    qmail-qmtpdRecebe conexes do tipo QMTP de clientes remotos. Uma vez que a conexo aceita, a mensagem entregue dire-tamente ao programa qmail-queue. Geralmente utiliza a porta 209/TCP.

    Qmail - Guia de consulta

    7

  • qmail-qmtpd suporta os mecanimos rcpthosts, morercpthosts, RELAYCLIENTS, databytes e DATABYTES.

    NOTA: QMTP (Quick Mail Transfer Protocol) um protocolo desenvolvido por Daniel J. Bernstein e tem o intuitode ser um substituto ao protocolo SMTP.

    qmail-queueInjeta mensagens na fila de e-mail para serem processadas futuramente por qmail-send. invocado pelos programas qmail-inject, qmail-smtpd, qmail-qmtpd e qmail-qmqpd.Todo o processamento de e-mails passa por qmail-queue, tornando-o o corao do qmail.

    qmail-queue sempre adiciona uma linha Received no incio do cabealho da mensagem.

    qmail-queue impe algumas regras na estrutura da fila de e-mails: cada subdiretrio mess precisa estar localizado nomesmo sistema de arquivos que o diretrio pid; cada subdiretrio todo precisa estar localizado no mesmo sistema dearquivos que o diretrio intd.

    qmail-queue no imprime diagnsticos em tela. Sai com cdigo de erro 0 (zero) caso a mensagem tenha sido injeta-da com sucesso na fila de e-mails, e sai com cdigo de erro entre 1 e 99 caso tenha ocorrido falha no momento de in-jetar a mensagem na fila.Todos os cdigos entre 11 e 40 indicam erros permanentes.

    Cdigo Descrio

    11 Endereo de e-mail muito longo.

    31 O servidor de e-mail est recusando permanentemente a enviar mensagens para qualquer recipiente. (Noutilizado por qmail-queue, mas utilizado por programas que utilizam a mesma estrutura).

    Todos os demais cdigos indicam erros temporrios.

    Cdigo Descrio

    51 Estouro de memria.

    52 Tempo esgotado.

    53 Erro de escrita (Ex: disco cheio).

    54 No foi possvel ler a mensagem ou os cabealhos de entrega.

    55 No foi possvel ler os arquivos de configurao (No utilizado por qmail-queue).

    56 Problemas ao tentar fazer uma conexo de rede a partir do host local (No utilizado por qmail-queue).

    61 Problemas com o diretrio home do qmail.

    62 Problemas com o diretrio da fila de e-mail.

    Qmail - Guia de consulta

    8

  • Cdigo Descrio

    63 Problemas ao criar a estrutura queue/pid.

    64 Problemas ao criar a estrutura queue/mess.

    65 Problemas ao criar a estrutura queue/intd.

    66 Problemas ao criar a estrutura queue/todo.

    71 O servidor de e-mail est recusando temporariamente a enviar mensagens para qualquer recipiente. (Noutilizado por qmail-queue).

    72 Tempo esgotado na conexo com o servidor de e-mail. (No utilizado por qmail-queue).

    73 Conexo com o servidor de e-mail foi rejeitada. (No utilizado por qmail-queue).

    74 Sucesso na conexo com o servidor de e-mail, mas a comunicao falhou. (No utilizado por qmail-queue).

    81 Bug interno. (Ex: falha de segmentao).

    91 Erro no formato dos cabealhos de entrega.

    Cada mensagem na fila de e-mail possui o seu prprio contador de tempo, que indica ao qmail em que momento equantas vezes ainda deve tentar entregar a mensagem antes de devolv-la ao seu remetente. Este tempo no confi-gurvel, e funciona como mostrado na tabela abaixo:

    Tentativa de Entrega Segundos Dias HH:MM:SS

    1 0 0 - 00:00:00

    2 400 0 - 00:06:40

    3 1600 0 - 00:26:40

    4 3600 0 - 01:00:00

    5 6400 0 - 01:46:40

    6 10000 0 - 02:46:40

    7 14400 0 - 04:00:00

    8 19600 0 - 05:26:40

    9 25600 0 - 07:06:40

    10 32400 0 - 09:00:00

    Qmail - Guia de consulta

    9

  • Tentativa de Entrega Segundos Dias HH:MM:SS

    11 40000 0 - 11:06:40

    12 48400 0 - 13:26:40

    13 57600 0 - 16:00:00

    14 67600 0 - 18:46:40

    15 78400 0 - 21:46:40

    16 90000 1 - 01:00:00

    17 102400 1 - 04:26:40

    18 115600 1 - 08:06:40

    19 129600 1 - 12:00:00

    20 144400 1 - 16:06:40

    21 160000 1 - 20:26:40

    22 176400 2 - 01:00:00

    23 193600 2 - 05:46:40

    24 211600 2 - 10:46:40

    25 230400 2 - 16:00:00

    26 250000 2 - 21:26:40

    27 270400 3 - 03:06:40

    28 291600 3 - 09:00:00

    29 313600 3 - 15:06:40

    30 336400 3 - 21:26:40

    31 360000 4 - 04:00:00

    32 384400 4 - 10:46:40

    33 409600 4 - 17:46:40

    34 435600 5 - 01:00:00

    Qmail - Guia de consulta

    10

  • Tentativa de Entrega Segundos Dias HH:MM:SS

    35 462400 5 - 08:26:40

    36 490000 5 - 16:06:40

    37 518400 6 - 00:00:00

    38 547600 6 - 08:06:40

    39 577600 6 - 16:26:40

    40 608400 7 - 01:00:00

    Mensagens ficam em fila, quando o qmail por algum motivo no pde entreg-las pela primeira vez ou na tentativaanterior; tais mensagens recebem o nome de deferred (entrega falhou e foi adiada).

    qmail-remoteqmail-remote host-remoto sender recipiente [ recipiente1 recipiente2 ... ]

    Invocado pelo programa qmail-rspawn, qmail-remote recebe mensagens via entrada padro (STDIN) e as entrega pa-ra recipientes localizados em servidores remotos, utilizando o protocolo SMTP.

    qmail-remote envia a mensagem para host-remoto ou para o host listado como entrada MX ou A na zona DNS de ca-da domnio.

    host-remoto deve ser um nome de DNS vlido:

    presunto.black.hole.net

    ou o endereo IP do host entre colchetes:

    [172.18.73.19]

    O recipiente da mensagem ser recipiente e opcionalmente recepiente1 e recepiente2.

    O sender da mensagem ser sender.

    qmail-remote imprime uma srie de flags de recipientes, seguido de um relatrio da mensagem. Casa relatrio iniciacom uma nica letra.

    qmail-remote sempre sai com cdigo de erro 0 (zero).

    Flag Descrio

    r Relatrio de recipiente: recipiente aceito.

    h Relatrio de recipiente: recipiente permanentemente rejeitado.

    s Relatrio de recipiente: recipiente temporariamente rejeitado.

    Qmail - Guia de consulta

    11

  • Flag Descrio

    K Relatrio de mensagem: sucesso na entrega. Host remoto tomou a responsabilidade de entregar a mensa-gem para cada recipiente aceito.

    Z Relatrio de mensagem: falha temporria na entrega.

    D Relatrio de mensagem: falha permanente na entrega.

    Depois das letras, qmail-remote imprime na tela o que ocorreu na tentativa de entrega da mensagem.

    Ex:

    $ cat /etc/hosts | /var/qmail/bin/qmail-remote foo.bar.net [email protected] [email protected] [email protected]

    [email protected] [email protected] [email protected]

    rrK172.18.73.19 accepted message.

    Remote host said: 250 ok 1079277646 qp 1337

    qmail-rspawnRecebe uma srie de comandos de entrega remota via descriptor 0, invoca qmail-remote para efetuar a entrega damensagem e imprime os resultados no descriptor 1.

    qmail-rspawn invocado por qmail-send, quando este classifica o e-mail como remoto, baseando-se no endereo derecipiente.

    qmail-rspawn invoca qmail-remote de forma assncrona, sendo assim, as mensagens de resultado podem no retor-nar na mesma ordem que os comandos.

    qmail-sendEntrega e-mails armazenados na fila de e-mail.

    Utiliza qmail-lspawn para entregar mensagens recipientes locais e qmail-rspawn para entregar mensagens recipi-entes remotos. Se a mensagem no pde ser entregue temporariamente para 1 (hum) ou mais recipientes, qmail-senddeixa a mensagem na fila e tenta entreg-la novamente mais tarde.

    qmail-send imprime registros legveis de suas atividades no descriptor 0, escreve comandos para qmail-lspawn,qmail-rspawn e qmail-clean via descriptor 1 (hum), 3 (trz) e 5 (cinco) e l as respostas via descriptor 2 (dois), 4(quatro) e 6 (seis).qmail-send responsvel por evitar situaes que possam causar um beco sem sada (deadlock).Se qmail-send receber um sinal kill do tipo TERM , aguarda a finalizao de todas as entregas de e-mail correntesantes de ser derrubado.

    Se qmail-send receber um sinal kill do tipo ALRM, reagenda a entrega imediata de todas as mensagens armazenadasna fila de e-mail.

    qmail-smtpd

    Qmail - Guia de consulta

    12

  • Recebe e-mails de computadores remotos e os repassa ao programa qmail-queue, que ir depositar a mensagem nafila de e-mails. Utiliza o protocolo SMTP e geralmente a porta 25/TCP.

    qmail-smtpd responsvel pela contagem de hops (servidores por onde a mensagem passou); rejeita qualquer e-mailcom 100 (cem) ou mais entradas Received ou Delivered-To em seu cabealho.qmail-smtpd suporta ESMTP, incluindo opes 8BITMIME e PIPELINING.

    qmail-smtpd converte SMTP newlines em UNIX newlines, convertendo entradas CR LF em LF; qmail-smtpd retorna um erro temporrio e aborta a conexo caso encontre uma entrada LF com problemas.

    qmail-smtpd aceita mensagens com linhas muito longas ou caracteres no ASCII, mesmo que estas mensagens vi-olem as especificaes do protocolo SMTP.

    qmail-startqmail-start [ defaultdelivery [ logger argumentos ... ] ]Inicia todo o sistema de entrega de e-mails

    Invoca os programas qmail-send, qmail-lspawn, qmail-rspawn e qmail-clean com seus devidos UIDs (ID de usu-rio) e GIDs (ID de grupo). Estes servios cooperam entre si na entrega de e-mails.defaultdelivery o formato padro de entrega de mensagens que ser utilizado por qmail-lspawn, e deve ser do tipoMaildir ou Mailbox. Se no informado, qmail-lspawn utilizar o formato Mailbox como padro.

    Se logger for informado, qmail-start repassar os logs de atividade do programa qmail-send para logger.

    Variveis de ambiente passadas qmail-start so eventualmente utilizadas pelo programa qmail-local; tenha semprecerteza de limpar o ambiente de variveis se executar qmail-start manualmente.

    Ex:

    # env PATH="/var/qmail/bin:$PATH" qmail-start ./Maildir splogger qmail &Limites de recursos e controles de TTYs tambm so repassados de qmail-start para qmail-local.

    NOTA: qmail-send normalmente pode iniciar muitas entregas de e-mails simultneas; para reduzir o impacto deqmail-send em outros programas do sistema, voc pode executar qmail-start com prioridade baixa.

    sendmailSubstitui diretamente as funcionalidades do conhecido programa sendmail. Geralmente utilizado por clientes de e-mail que no suportam o protocolo SMTP para o envio de e-mails.

    sploggersplogger [ tag [ fac ] ]L e insere mensagens geradas pelo qmail no sistema de logs (syslog).Insere tag (Padro: splogger) e um timestamp numrico no incio de cada mensagem.splogger checa por alert: ou warning: no incio de cada mensagem e seleciona uma prioridade syslog(LOG_ALERT, LOG_WARNING ou LOG_INFO) para a mensagem.splogger loga mensagens com a facilidade fac. fac precisa ser numrico. (Padro 2).

    Qmail - Guia de consulta

    13

  • splogger converte caracteres que no podem ser impressos por ? (interrogao).splogger no loga linhas em branco.

    splogger quebra linhas que contenham mais que 800 caracteres (desde que syslog no suporte longas mensagens) eadiciona um + (adio) depois do timestamp para indicar uma quebra de linha.Funcionamento geral da entrega de mensagens no qmail:

    Utilitrios do qmailEstes utilitrios ampliam os recursos do qmail. Basicamente, ajudam em tarefas especficas e geralmente so invoca-

    Qmail - Guia de consulta

    14

  • dos no momento do recebimento de e-mails, ou seja, no momento anterior a entrada do e-mail na caixa do usurio.Normalmente so utilizados dentro dos arquivos .qmail.

    bouncesayingbouncesaying erro [ programa [ argumentos ...] ]

    Redireciona o e-mail para o programa programa (e opicionalmente os argumentos para serem utilizados em progra-ma).Se o cdigo de erro retornado por programa for 0 (zero), o texto indicado em erro ser enviado para o remetente, lo-gado no sistema de logs e a mensagem no ser entregue.

    Se programa retornar qualquer outro cdigo de erro ou no existir, bouncesaying sai com cdigo de erro 0 (zero) econtinua o processo.

    Se no for informado nenhum programa, bouncesaying sempre retornar a mensagem indicada em erro:

    bouncesaying 'This address no longer accepts mail.'

    condredirectcondredirect novoendereo programa [ argumentos ]

    Redireciona o e-mail para o programa programa(e opicionalmente os argumentos para serem utilizados em progra-ma).Se o cdigo de erro retornado por programa for 0 (zero), condredirect redireciona o e-mail para novoendereo e saicom cdigo de erro 99 (noventa e nove), ignorando qualquer outro comando.Se o cdigo de erro retornado por programa for 111 (cento e onze), condredirect sai com cdigo de erro 111, o e-mail volta para a fila de e-mails e a entrega ser tentada novamente mais tarde.

    Se programa retornar qualquer outro cdigo de erro ou no existir, condredirect sai retornando cdigo de erro 0(zero) e continua o processo de entrega da mensagem.OBS: Se habilitar condredirect em um arquivo .qmail, no se esquea de adicionar uma linha especificando a entregana sua caixa de e-mail.

    Ex: contedo do arquivo $HOME/.qmail

    | condredirect [email protected] $HOME/meuscript.sh

    exceptexcept programa [ argumentos ]

    Altera o cdigo de retorno de erro de um programa.

    Se programa retornar o cdigo de erro 0 (zero), except sai com cdigo de erro 100 (cem).Se programa sair com cdigo de erro 111 (cento e onze), except tambm sai com cdigo de erro 111.Qualquer outro cdigo de erro retornado por programa faz com que except saia com cdigo de erro 0 (zero).except normalmente utilizado em conjunto com bouncesaying e condredirect.

    Qmail - Guia de consulta

    15

  • Ex: contedo do arquivo $HOME/.qmail

    | bouncesaying Apenas p/ o assunto qmail ! except grep -qi Sobre qmail./Maildir/

    O exemplo acima, faz com que bouncesaying retorne o e-mail para o destinatrio caso o e-mail no contenha as pa-lavras Sobre qmail no cabealho do e-mail ou em seu corpo.

    forwardforward recipiente1 recipiente2 ...

    Redireciona novos e-mails para um ou mais endereos de recipientes.

    Possui o mesmo efeito que inserir cada endereo dentro de um arquivo .qmail, mas com a vantagem de poder con-trur o endereo de e-mail do recipiente no momento da entrega.

    Ex:

    | forward ${LOCAL/rodrigo/rodrigo-lixo}@${HOST}No exemplo anterior, quando utilizado no arquivo .qmail dentro do diretrio $HOME do usurio rodrigo, forwardencaminhar todas as novas mensagens para a conta rodrigo-lixo do mesmo domnio que rodrigo.

    maildirwatchMonitora o diretrio de e-mail do usurio e reporta quando novas mensagens so recebidas, exibindo um pequenosumrio com as novas mensagens.

    maildirwatch imprime na tela, um sumrio de novas mensagens 2 (duas) vezes por minuto.maildirwatch utiliza a varivel de ambiente $MAILDIR para identificar o diretrio a ser monitorado.

    Foi desenvolvido para ser executado em um terminal compatvel com VT100; limpa a tela antes da impresso de ca-da sumrio.

    prelinepreline [ -dfr ] programa [ argumentos ]

    Sujeita cada nova mensagem atravz de programa.Por padro, preline adiciona 3 (trs) campos no cabealho do e-mail.Os campos From:, Return-Path: e Delivered-To: so adicionados ao cabealho do e-mail (caso j no existam) comseus respectivos valores.

    Algumas opes podem ser utilizadas para modificar a ao padro de preline.

    Opo Descrio

    -dNo insere o campo Delivered-To:. Utilize esta opo quando o recipiente da mensagem de entrada estatualmente sob controle remoto, mas foi enviada aqui atravz de control/virtualdomains para roteamentomanual.

    Qmail - Guia de consulta

    16

  • Opo Descrio

    -f No insere o campo From:.

    -r No insere o campo Return-Path:.

    qbiffImprime uma mensagem no terminal do usurio quando um novo e-mail chegar em sua caixa de e-mails.

    Para que esta notificao funcione, necessrio que o programa qbiff esteja devidamente configurado no arquivo$HOME/.qmail do usurio.

    Ex:

    ./Maildir/

    | qbiffOBS: necessrio habilitar o recebimento de mensagens no terminal do usurio via biff y.

    qreceiptqreceipt seu-email

    Responde mensagens que solicitam uma confirmao de recebimento.

    Se seu-email estiver contido no campo Notice-Requested-Upon-Delivery-To: do cabealho do e-mail, qreceipt envi-ar uma notificao de recebimento ao remetente.

    OBS: Se habilitar qreceipt em um arquivo .qmail, no se esquea de adicionar uma linha especificando a entrega nasua caixa de e-mail.

    Ex:

    ./Maildir/

    | qreceipt [email protected] mensagem que o remetente da mensagem receber, ser algo como:

    From: DELIVERY NOTICE SYSTEM

    To:

    Subject: success noticeHi! This is the qreceipt program. Your message was delivered to the

    following address: [email protected]. Thanks for asking.

    Utilitrios de administraomaildir2mbox

    Qmail - Guia de consulta

    17

  • Converte caixas de correio no formato Maildir para o formato mbox (Mailbox).Requer 3 (trz) variveis de ambiente setadas:

    Varivel Descrio

    $MAIL Localizao do Mailbox do usurio a ser criado.

    $MAILTMP Localizao do arquivo temporrio de transio a ser utilizado.

    $MAILDIR Localizao do Maildir do usurio a ser convertido.

    $MAIL e $MAILTMP precisam estar no mesmo sistema de arquivos.

    maildir2mbox no remove a mensagem de $MAILDIR enquanto no escreve-la completamente dentro de $MAIL.

    maildir2mbox trava o arquivo $MAIL para proteg-lo de acesso simultneo por um cliente de e-mail. Este sistema detrava no protege $MAIL de acesso simultneo por outro processo maildir2mbox. Execute apenas uma instncia demaildir2mbox por vez.

    maildirmakemaildirmake Maildir

    Cria o diretrio Maildir utilizando o formato de caixa de correio Maildir.

    maildirmake criar a estrututra new, cur e tmp dentro de Maildir, aonde Maildir deve ser criado dentro do diretrio$HOME do usurio e usurio deve ser o dono de Maildir e todos os seus subdiretrios.

    qmail-getpwqmail-getpw local

    Procura o usurio que controla o endereo local. Retorna usurio, Unix userid, Unix groupid, $HOME, trao e ex-tenso.

    Quando local igual a usurio, trao e extenso retornam vazios.Quando local igual a usurio-algumacoisa, trao ser - e extenso ser algumacoisa.Aonde, mensagens para local sero gerenciadas por $HOME/.qmail-traoextenso.

    Se qmail-getpw no encontrar o usurio que controla local, o usurio alias entra em cena e toma o controle da men-sagem. Neste caso, trao ser - e ext ser local.

    Se qmail-getpw encontrar problemas na execuo, sai com cdigo de erro diferente de 0 (zero) e no imprime nadaem tela.

    qmail-getpw considera como conta local todos os usurios do arquivo /etc/passwd se:

    No possuir UID 0 (zero).

    Qmail - Guia de consulta

    18

  • O diretrio $HOME do usurio existir e for visvel por qmail-getpw.

    O usurio o dono de seu diretrio $HOME.

    qmail-getpw ignora nomes de usurios que contenham letras em maisculas.

    qmail-getpw assume que todos os nomes de usurios possuem menos de 32 caracteres.

    OBS: O mecanismo qmail-users cancela as decises tomadas por qmail-getpw, confivel, altamente configurvel emuito mais rpido que qmail-getpw.

    qmail-newmrhCria o arquivo base de dados control/morercpthosts.cdb em formato binrio a partir do arquivo control/mo-rercpthosts, que ser utilizado pelo programa qmail-smtpd de forma mais eficiente.

    Caso exista algum problema com o arquivo control/morercpthosts, qmail-newmrh exibe uma mensagem de erro eno gera o novo arquivo control/morercpthosts.cdb.

    qmail-newmrh assegura que control/morercpthosts.cdb seja atualizado atomicamente (atualizaes simultneas),desta forma, qmail-smtpd no precisa aguardar qmail-newmrh liberar o arquivo para acess-lo de forma segura.

    qmail-newmrh no tenta proteger control/morercpthosts.cdb contra atualizaes simultneas.

    O binrio control/morercpthosts.cdb portvel entre mquinas diferentes.

    qmail-newuCria o arquivo database /var/qmail/users/cdb em formato binrio a partir do arquivo /var/qmail/users/assign, que se-r utilizado por qmail-lspawn de forma mais eficiente.

    Caso exista algum problema na leitura do arquivo users/assign, qmail-newu exibe uma mensagem de erro e no gerao novo arquivo users/cdb.

    qmail-newu assegura que users/cdb seja atualizado atomicamente (atualizaes simultneas), desta forma, qmail-lspawn no precisa aguardar qmail-newu liberar o arquivo para acess-lo de forma segura.

    qmail-newu no tenta proteger users/cdb contra atualizaes simultneas.

    O binrio users/cdb portvel entre mquinas diferentes.

    qmail-pw2uqmail-pw2u [ -/ohHuUC ] [ -c char ]

    L um arquivo de senhas no padro V7 da entrada padro e imprime na sada padro no formato qmail-users.

    Geralmente a sada produzida pelo comando qmail-pw2u dever ser gravada no arquivo users/assign.

    Cada linha de um arquivo de senhas no formato V7 deve ter a forma:

    usurio:senha:uid:gid:gecos:home:shell

    Aonde, usurio o nome da conta local, uid e gid so o User ID e Group ID de usurio, home o diretrio $HOME

    Qmail - Guia de consulta

    19

  • de usurio. senha, gecos e shell so ignorados por qmail-pw2u.

    qmail-pw2u ignora o usurio se:

    Possuir UID 0 (zero).

    Diretrio $HOME no existir.

    O usurio no for o dono de seu diretrio $HOME.

    O nome de usurio possuir letras em maisculo.

    Se o contedo impresso por qmail-pw2u for gravado no arquivo /var/qmail/users/assign e for executado o comandoqmail-newu, qmail-lspawn ir obedecer todas as instrues impressas por qmail-pw2u.

    OBS: Aps alterar qualquer usurio, uid, gid ou diretrio $HOME dentro do arquivo de senhas, necessrio execu-tar qmail-pw2u e qmail-newu novamente, para que qmail-lspawn obedea s alteraes.

    As aes padro de qmail-pw2u podem ser alteradas, utilizando-se os seguintes arquivos dentro do diretrio /var/qmail/users:

    include

    Lista de usurios permitidos, um por linha.

    Se include existir, e o usurio no estiver listado neste arquivo, ser ignorado.

    exclude

    Lista de usurios que devem ser ignorados, um por linha.

    Se exclude existir, e o usurio estiver listado neste arquivo, ser ignorado.

    mailnames

    Nomes substitutos para nomes de usurios, cada linha deve ter a forma:

    usuario:mailname1:mailnamel2Aonde mensagens para os endereos de e-mail mailname1, mailna-me1-algumacoisa, mailname2 sero entregues para usuario.

    OBS: Mensagens para os endereos usurio e usurio-algumacoisa no sero entregues para usurio, a menos queestejam listados como um dos mailnames.

    subusers

    Endereos extra para nomes de usurios, cada linha deve ter a forma:

    Qmail - Guia de consulta

    20

  • sub:usuario:extra:sub ser gerenciado por $HOME/.qmail-extra, aonde $HOME ser o diretrio $HOME de usu-rio.sub-algumacoisa ser gerenciado por $HOME/.qmail-extra-algumacoisa.

    append

    Tarefas extras, que sero impressas na tela no final do processamento de qmail-pw2u.

    Pode-se ainda utilizar as opes:

    Opo Descrio

    -oIgnora usurio se seu diretrio $HOME no existir (ou no seja visvel por qmail-pw2u) ou caso no sejao dono de seu diretrio $HOME (Padro).

    -h Pra o processamento se o diretrio $HOME do usurio no existir (apropriado se cada usurio deve terseu diretrio $HOME) ou caso no seja o dono de seu diretrio $HOME.

    -H No checa se o usurio dono de seu diretrio $HOME.

    -u Permite letras em maisculo no nome do usurio.

    -U Ignora usurio, se houver alguma letra em maisculo no nome do usurio (Padro).

    -c char Utiliza char como delimitador de extenso de usurio no lugar de -

    -C Desabilita o mecanismo de extenso de usurios.

    -/ Utiliza $HOME/.qmail-/... ao invs de $HOME/.qmail-...

    qmail-qreadGera e mostra um relatrio detalhado das mensagens que esto aguardando na fila do qmail. Este relatrio mostra adata que a mensagem entrou em fila, tamanho em bytes, remetente e todos os recipientes que devem receber a men-sagem.

    Deve ser executado pelo usurio root ou pelo usurio qmails membro do grupo qmail.

    qmail-qstatGera e mostra um relatrio com o nmero de mensagens que esto aguardando na fila do qmail para serem processa-das e entregues.

    Deve ser executado pelo usurio root ou por algum usurio do grupo qmail.

    qmail-showctlAnalisa os arquivos de configurao do qmail e mostra sua configurao corrente de forma detalhada.

    qmail-tcpok

    Qmail - Guia de consulta

    21

  • Limpa a tabela de timeout TCP do programa qmail-remote, fazendo com que qmail-remote no utilize nenhuma re-ferncia de tempo para os endereos que falharam.

    Deve ser executado pelo usurio root ou pelo usurio qmailr membro do grupo qmail.

    qmail-tcptoGera e mostra um relatrio com os timeouts da tabela TCP do programa qmail-remote.

    Se o programa qmail-remote falhar em uma tentativa de conexo SMTP, o IP do host remoto gravado nesta tabela.Se a conexo SMTP para este host falhar uma segunda vez (depois de no mnimo 2 minutos de conexes sem suces-so), esta entrada marcada na tabela e o qmail no tentar entregar esta mensagem por 1 (uma) hora.Deve ser executado pelo usurio root ou pelo usurio qmailr membro do grupo qmail.

    tcp-envtcp-env [ -rR ] [ -t n ] programa [ argumentos ]

    Tenta obter informaes sobre conexes TCP para setar uma srie de variveis de ambiente que sero utilizadas porprograma (e opcionalmente seus argumentos).A entrada de dados para o programa tcp-env deve ser uma conexo do tipo TCP.

    tcp-env geralmente utilizado em conjunto com o programa inetd.

    Opo Descrio

    -r Tenta obter informao do host remoto e setar a varivel $TCPREMOTEINFO (Padro).

    -R No tenta obter $TCPREMOTEINFO do host remoto.

    -t n Tempo mximo em segundos que tentar obter $TCPREMOTEINFO de uma conexo TCP antes de de-sistir. O padro 30 segundos.

    Arquivos de controle/configuraobadmailfrom

    Listagem de remetentes que sero proibidos de enviar e-mails para este servidor ou para servidores remotos.

    Ex:

    [email protected]

    @spammers.com

    Utilizado por: qmail-smtpd.

    bouncefrom

    Qmail - Guia de consulta

    22

  • Define o nome de usurio (sender) que ser utilizado em mensagens de erro que sero retornadas aos seus respecti-vos recipientes.

    Este usurio no representa um usurio local do sistema.

    Padro: MAILER-DAEMON.

    Utilizado por: qmail-send.

    bouncehostDefine o nome de host que ser utilizado em mensagens de erro que sero retornadas aos seus respectivos recipien-tes.

    Se a mensagem no puder ser entregue permanentemente, qmail-send envia uma nica mensagem de bounce para osender.

    O sender ter o formato bouncefrom@bouncehost, caso contrrio ser vazio.Padro: me.

    Utilizado por: qmail-send.

    concurrencylocalDefine o nmero mximo de entregas locais simultneas que o qmail pode gerenciar.

    Padro: 10 - podendo se estender a 120 (limite mximo definido na compilao do qmail). Se for 0 (zero), as entre-gas locais sero colocadas em espera.

    Utilizado por: qmail-send.

    concurrencyremoteDefine o nmero mximo de entregas remotas simultneas que o qmail pode gerenciar.

    Padro: 20 - podendo se estender a 120. (limite mximo definido na compilao do qmail). Se for 0 (zero), as entre-gas remotas sero colocadas em espera.

    Utilizado por: qmail-send.

    databytesDefine o tamanho mximo em bytes que um e-mail pode ter ou 0 (zero) para sem limite. Para definir o tamanho m-ximo de e-mails em 10MB, utilize:

    10485760

    Se a mensagem exceder este limite, qmail-smtpd retorna um cdigo de erro permanente ao cliente.

    Se o disco local estiver cheio ou qmail-smtpd alcanar um limite de recursos, qmail-smtpd retorna um cdigo de errotemporrio ao cliente.

    Padro: 0.

    Utilizado por: qmail-smtpd.

    Qmail - Guia de consulta

    23

  • defaultdomainDomnio padro que ser utilizado em endereos de e-mail que no possuam a [email protected].

    Por padro, qmail-inject adiciona o contedo de defaultdomain a qualquer nome de host que no possua o domnio;tambm vlido para defaulthost.Excees: veja plusdomain.Padro: me.

    Utilizado por: qmail-inject.

    defaulthostNome de host padro que ser utilizado em endereos de e-mail que no possuam a [email protected].

    Por padro, qmail-inject adiciona o contedo de defaulthost a qualquer endereo de e-mail que no possua o nomedo host.

    defaulthost no precisa ser o nome corrente do servidor.

    Padro: me.

    Utilizado por: qmail-inject.

    doublebouncehostEspecifica o nome de host que ser utilizado no sender de mensagens de erro que foram enviadas e retornaram comerro.

    Padro: me.

    Utilizado por: qmail-send.

    doublebouncetoEspecifica o nome de usurio que ser utilizado para receber mensagens de erro que foram enviadas e retornaramcom erro.

    qmail-send envia mensagens desse tipo para doublebounceto@doublebouncehosts; se a mensagem retornar com er-ro, qmail exclui a mensagem.

    Padro: postmaster.

    Utilizado por: qmail-send.

    envnoathostDefine o domnio padro a ser utilizado para recipientes que no possuirem @ em seu endereo de e-mail.

    Se qmail-send encontrar um recipiente sem @ em seu endereo de e-mail, adiciona @envnoathost ao endereo dee-mail.

    Padro: me.

    Qmail - Guia de consulta

    24

  • Utilizado por: qmail-send.

    helohostNome corrente do host, para ser utilizado por qmail-remote em sesses SMTP somente para identificar-se ao servi-dor remoto.

    Padro: me.

    Utilizado por: qmail-remote.

    idhostNome do host que ser utilizado no cabealho Message-ID em e-mails.

    idhost no precisa ser o nome corrente do servidor.

    Padro: me.

    Utilizado por: qmail-inject.

    localiphostAltera o nome da mquina associado ao IP local.

    qmail-smtpd responsvel por detectar endereos IP no formato a.b.c.d. Quando qmail-smtpd detecta um endereode e-mail no formato box@[a.b.c.d] aonde [a.b.c.d] um endereo IP local, altera pelo contedo de localiphost.

    Isso feito antes do processamento de rcpthosts.

    Ex:

    qmailserver.domain.net

    Padro: me.

    Utilizado por: qmail-smtpd.

    localsLista de domnios considerados locais pelo qmail, um por linha.

    O e-mail [email protected] ser considerado local se dominio.com estiver listado em locals.

    Padro: me.

    Utilizado por: qmail-send.

    meEspecifica o nome do host do servidor de e-mail local.

    o arquivo de controle mais importante do qmail, pois seu contedo utilizado como padro por muitos outros ar-quivos, caso no estejam presentes. Sem este arquivo o qmail no funciona.Utilizado por: qmail-send.

    Qmail - Guia de consulta

    25

  • morercpthostsListagem de hosts e domnios adicionais que o qmail reconhecer como locais e aceitar mensagens para seus desti-natrios.

    Utilizando qmail-newmrh, ser gerado um arquivo base de dados no formato binrio (control/morercpthosts.cdb),que ser utilizado por qmail-smtpd para consultas mais rpidas e eficientes. necessrio executar qmail-newmrh to-da vez que o contedo do arquivo morercpthosts for alterado, para que as alteraes sejam efetivadas.Dica para grande quantidade de domnios: mantenha os 50 domnios mais acessados no arquivo rcpthosts e o restan-te em morercpthosts

    Utilizado por: qmail-smtpd.

    percenthackEspecifica a lista de domnios aonde ser checado a presena de % (sinal de percentagem) no nome do usurio.Nomes de usurios do tipo usuario%[email protected] sero convertidos para [email protected].

    qmail-send processa percenthack antes de locals.

    Utilizado por: qmail-send.

    plusdomainExtenso que qmail-inject adicionar ao final de domnios que terminam com o sinal + (adio); tambm vlidopara defaulthost, se este terminar com um sinal +.Se o nome do host no possuir a forma nomedohost.dominio mas terminar com o sinal +, qmail-inject utilizarplusdomain e no defaultdomain.Ex:

    com.br

    Padro: me.

    Utilizado por: qmail-inject.

    qmqpserversEspecifica os endereos de servidores QMQP que sero utilizados pelo programa qmail-qmqpc.Utilizado por: qmail-qmqpc.

    queuelifetimeDefine o nmero mximo em segundos que uma mensagem pode ficar na fila do qmail.

    Depois desse tempo, qmail-send tentar entregar a mensagem mais uma vez e tratar qualquer outro erro, como umerro permanente.

    Padro: 604800 (uma semana).Utilizado por: qmail-send.

    Qmail - Guia de consulta

    26

  • rcpthostsListagem de hosts e domnios que sero reconhecidos pelo qmail como locais e sero aceitas mensagens para seusrecipientes. Caso no exista, qmail-smtpd aceitar e-mails para qualquer host ou domnio.

    A documentao do qmail recomenda adicionar no mais que 50 hosts ou domnios em rcpthosts.

    Domnios adicionais devem ser adicionados em morercpthosts.

    Exceo: Se a varivel de ambiente $RELAYCLIENT estiver setada, qmail-smtpd ignora rcpthosts e adiciona o con-tedo de $RELAYCLIENT ao endereo do recipiente.

    Ex:

    qmailserver.domain.net

    domain.com.br

    Utilizado por: qmail-smtpd.

    smtpgreetingEspecifica a mensagem de boas vindas que ser exibida no banner apresentado por qmail-smtpd.

    Padro: me.

    Utilizado por: qmail-smtpd.

    smtproutesEspecifica rotas SMTP estticas para entrega de e-mails em hosts remotos.

    Cada linha deve possuir o formato:

    dominio:servidor-remoto

    ou

    dominio:servidor-remoto:porta-tcp

    Ex:

    dominio.com:[172.11.10.12]

    dominio.net:smtp2.dominio.net

    dominio.org:mail.dominio.org:26

    Aonde, todos e-mails enviados para dominio.com sero entregues no host 172.11.10.12, e-mails enviados para domi-nio.net sero entregues no host smtp2.dominio.net e e-mails enviados para dominio.org sero entregues no hostmail.dominio.org na porta 26/TCP.

    qmail-remote no tentar obter a entrada MX ou A via DNS para dominio.com, dominio.net e dominio.org.

    Se servidor-remoto no for especificado, qmail-remote atuar de forma padro, tentando obter a entrada MX paradominio atravs de DNS.

    Ex:

    Qmail - Guia de consulta

    27

  • .co.uk:

    :master.co.uk

    Aonde, mensagens enviadas para domnios que terminam em .co.uk (mas no para co.uk) sero roteados atravsde sua entrada MX; qualquer outro endereo ser roteado artificialmente para o host master.co.uk.

    Utilizado por: qmail-remote.

    timeoutconnectDefine o nmero mximo em segundos que qmail-remote aguardar o servidor SMTP remoto aceitar a conexoSMTP antes de desconectar.

    Padro: 60 segundos.

    Utilizado por: qmail-remote.

    timeoutremoteDefine o nmero mximo de segundos que qmail-remote aguardar por uma resposta do servidor SMTP remoto(depois da conexo ser aceita) antes de desconectar.Padro: 1200 segundos (20 minutos).Utilizado por: qmail-remote.

    timeoutsmtpdEspecifica o nmero mximo em segundos que qmail-smtpd ir aguardar para receber dados do cliente SMTP remo-to.

    Se nenhum dado for recebido por qmail-smtpd ao trmino de timeoutsmtpd, a conexo SMTP remota ser termina-da.

    Padro: 1200 segundos (20 minutos).Utilizado por: qmail-smtpd.

    virtualdomainsLista de usurios ou domnios que sero tratados pelo qmail como virtuais.

    Um usurio virtual possui a forma [email protected]:prepend.

    Quando qmail-send receber um e-mail para usuario@dominio, converter para prepend-usuario@dominio e aceitareste usurio como local.

    Domnios virtuais possuem a forma dominio.com:prepend, que ser convertido para prepend-dominio.com para to-dos os usurio deste domnio.

    permitido a utilizao de curingas.Ex:

    .dominio.com:telles

    Qmail - Guia de consulta

    28

  • :alias-pegatudo

    Aonde, mensagens enviadas para qualquer usurio do domnio dominio.com sero processadas como [email protected] e alias-pegatudo receber todas as outras mensagens que no possuirem como destinatrio umusurio do domnio dominio.com.

    Exceo: O domnio no ser tratado como virtual se o prepend for vazio.

    qmail-send processa virtualdomains depois de locals; se o domnio estiver listado em locals, no ser checado emvirtualdomains.

    Utilizado por: qmail-send.

    Variveis de AmbienteDATABYTES

    Seu contedo tem precedncia sobre o valor definido no arquivo de controle databytes.

    DEFAULTContm a parte correspondente a default de arquivos .qmail-...

    Ex: Mensagem enviada para telles-amigos.

    Se o e-mail alcanar o arquivo .qmail-default no diretrio $HOME do usurio telles, a varivel de ambiente DE-FAULT assumir o valor amigos.

    DTLINELinha completa de Delivered-To: utilizada no cabealho do e-mail.

    EXTExtenso do endereo de e-mail.

    Ex: telles-amigos-sp-local-area.

    EXT assumir o valor amigos.

    EXT2Parte do endereo de e-mail a partir do segundo - (trao).EXT2 assumir o valor sp.

    EXT3Parte do endereo de e-mail a partir do terceiro - (trao).EXT3 assumir o valor local.

    EXT4

    Qmail - Guia de consulta

    29

  • Parte do endereo de e-mail a partir do quarto - (trao).EXT4 assumir o valor area.

    HOMEDiretrio $HOME do usurio local.

    HOSTDomnio utilizado no e-mail.

    Ex: sub.dominio.com.br.

    HOST2Parte do domnio que precede o ltimo . (ponto).Ex: sub.dominio.com.

    HOST3Parte do domnio que precede o penltimo . (ponto).Ex: sub.domnio.

    HOST4Parte do domnio que precede o ante-penltimo . (ponto).Ex: sub.

    LOCALNome local do e-mail.

    MAILHOST/QMAILHOSTSeu contedo tem precedncia sobre o nome do host definido no arquivo de controle defaulthost.

    MAILNAME/QMAILNAME/NAMENome pessoal utilizado no campo From: do cabealho do e-mail.

    MAILUSER/QMAILUSER/USER/LOGNAMENome do usurio utilizado no campo From: do cabealho do e-mail.

    NEWSENDERArmazena o endereo de e-mail do sender utilizado para redirecionamento.

    Qmail - Guia de consulta

    30

  • QMAILDEFAULTDOMAINSeu contedo tem precedncia sobre o valor definido no arquivo de controle defaultdomain.

    QMAILDEFAULTHOSTSeu contedo tem precedncia sobre o valor definido no arquivo de controle defaulthost.

    QMAILIDHOSTSeu contedo tem precedncia sobre o valor definido no arquivo de controle idhost.

    QMAILINJECTEspecifica opes adicionais ao programa qmail-inject.

    Opo Descrio

    cUtiliza o formato endereo-comentrio para o campo From. Normalmente, qmail-inject utiliza o formatonome-endereo.

    sNo verifica nenhum campo Return-Path em mensagens de entrada. Normalmente, se Return-Path es-pecificado, este setado como endereo de sender e sobrescreve o valor de todas as variveis de ambien-te. Return-Path deletado de qualquer forma.

    f Deleta qualquer campo From em mensagens de entrada. Normalmente, se From especificado, este so-brescreve o valor do campo From criado por qmail-inject.

    i Deleta qualquer campo Message-ID em mensagens de entrada. Normalmente, se Message-ID especifi-cado, este sobrescreve o valor do campo Message-ID criado por qmail-inject.

    rUtiliza Return-Path por usurio (VERP - Variable Envelope Return Paths). Isto faz com que qmail-injectadicione cada endereo de recipiente no sender da cpia da mensagem que est indo para este usurio.

    mUtiliza Return-Path por mensagem. Isto faz com que qmail-inject adicione a data corrente e o ID do pro-cesso no sender da mensagem.

    QMAILMFTFILEEspecifica o arquivo que conter uma lista de e-mails que sero lidos por qmail-inject.Se um ou mais desses e-mails estiverem contidos no campo To: ou Cc: do cabealho do e-mail, qmail-inject adicio-nar o campo de cabealho Mail-Followup-To: (se j no existir) com todos os endereos de e-mail contidos em To:ou Cc:.

    QMAILPLUSDOMAINSeu contedo tem precedncia sobre o valor definido no arquivo de controle plusdomain.

    QMAILSHOST/QMAILSUSER

    Qmail - Guia de consulta

    31

  • Seu contedo tem precedncia sobre o valor definido para o sender da mensagem, quando enviada utilizando qmail-inject.

    RECIPIENTEndereo de e-mail do recipiente da mensagem.

    RELAYCLIENTSe setado, torna nulo o contedo do arquivo rcpthosts e permite ao usurio enviar e-mails para qualquer domnio lo-cal ou remoto.

    RPLINELinha completa de Return-Path: utilizada no cabealho do e-mail.

    SENDEREndereo de e-mail utilizado como sender do e-mail.

    UFLINELinha completa de From: utilizada no cabealho do e-mail no formato UUCP

    Sistema de Aliases/ForwardsO qmail possui um avanado, verstil e seguro sistema de aliases e forwards, e ainda pode aproveitar-se de mecanis-mos de aliases/forwards de terceiros, para facilitar migraes.

    dot-qmail/var/qmail/alias/.qmail- alias

    Aonde alias o nome do alias que ser interpretado pelo qmail.

    Normalmente um arquivo contendo um ou mais endereos de e-mail para os quais as mensagens devem ser redire-cionadas.

    importante lembrar que, ~/alias/.qmail-alias s ser alcanado caso no exista um usurio local identificado poralias. Isto significa que, se existir um usurio telles e for criado um alias ~alias/.qmail-telles, este alias nunca seralcanado.

    Linhas que iniciam com # (comentrios) so ignoradas.Ex: criando o alias rodrigo.

    # echo [email protected] > /var/qmail/alias/.qmail-rodrigo

    Isso far o qmail redirecionar todas as mensagens enviadas a rodrigo para [email protected].

    possvel utilizar vrios e-mails para redirecionamento de mensagens dentro do arquivo de alias, bastando para is-so, que cada e-mail esteja em uma nica linha:# cat /var/qmail/alias/.qmail-galera

    Qmail - Guia de consulta

    32

  • [email protected]

    [email protected]

    [email protected]

    [email protected]

    [email protected]

    Ainda possvel utilizar scripts ou programas dentro dos arquivos .qmail-alias.

    Ex:

    # echo '| /home/telles/lixo.sh' > /var/qmail/alias/.qmail-spamDesta forma, todas as mensagens enviadas para spam sero tratadas pelo script /home/telles/lixo.sh, o que provavel-mente ir deletar a mensagem com algo do tipo:

    #!/bin/bash

    cat > /dev/null

    exit 99

    NOTA: Caso deseje criar aliases que possuam . (ponto) no meio do nome (Ex: r.p.telles), substitua . por : (doispontos).Ex:

    $ echo [email protected] > /var/qmail/alias/.qmail-r:p:telles

    $HOME/.qmail- aliasAonde alias o nome do alias criado pelo usurio local.

    Desta forma, o usurio pode criar seus prprios aliases, sem depender do administrador de sistemas.

    Exemplo 1: $HOME da usuria aline.

    $ echo joazinho > $HOME/.qmail-encontroQuando for enviado um e-mail para aline-encontro, qmail redirecionar a mensagem para o usurio joaozinho.Ainda possvel redirecionar mensagens para caixas de e-mail no formato mbox.

    Exemplo 2: $HOME da usuria aline.

    $ echo ./Mailbox.encontros > $HOME/.qmail-encontrosDesta forma, todos os e-mails enviados para aline-encontros sero armazenados na caixa de e-mail$HOME/Mailbox.encontros no formato mbox.

    Quando uma mensagem para telles-amigos-smith enviada, qmail-lspawn checa se o usurio telles existe, se existirqmail-local verifica no $HOME do usurio telles, se .qmail-amigos-smith existe, se no existir ou se estiver vazio,checa por qmail-amigos-default e por final .qmail-default; qmail-local seguir as istrues contidas no primeiro ar-quivo encontrado que tenha contedo diferente de vazio. Se o usurio telles no existir, qmail-lspawn passa o con-trole da entrega para o usurio alias antes de rejeitar a mensagem.

    Qmail - Guia de consulta

    33

  • Quando qmail-local encaminha uma mensagem seguindo instrues contidas em um arquivo $HOME/.qmail-alias(ou $HOME/.qmail-default), sempre verifica a existncia de um arquivo do tipo $HOME/.qmail-alias-owner; se oarquivo existir, qmail-local utilizar usuario-alias-owner@dominio como sendo o sender (Return-Path:) da mensa-gem. Caso contrrio, qmail-local mantem o endereo de sender original da mensagem.

    Excesso: qmail-local sempre mantem o endereo original de sender se este for vazio ou contiver #@[](mensagens de erro bounces).qmail-local tambm suporta a utilizao de sender varivel (VERP Variable Envelope Return Paths). Se$HOME/.qmail-alias-owner e $HOME/.qmail-alias-owner-default existirem, qmail-local utilizar usuario-alias-owner-@dominio-@[] como sender de mensagens encaminhadas. Isto far com que o recipiente da mensagem - re-cipiente@host - veja o sender como sendo [email protected] arquivo $HOME/.qmail pode ser utilizado para alterar o mtodo padro de entrega de mensagens para o usurio.

    Se $HOME/.qmail estiver completamente vazio ou no existir, qmail-local utilizar o mtodo padro definido peloadministrador do sistema em qmail-start (defaultdelivery); normalmente o mtodo padro mbox e todas as mensa-gens sero adicionadas ao arquivo $HOME/Mailbox neste padro.

    $HOME/.qmail pode conter espaos em branco e tabs no final de cada linha; Linhas em branco so permitidas, des-de que no sejam a primeira linha do arquivo.Se $HOME/.qmail for executvel (possuir o bit de execuo x ligado) e contiver qualquer linha de programa,instrues de Mailbox ou Maildir, qmail-local suspende a entrega e devolve a mensagem fila de e-mails.

    Exemplo 3: $HOME do usurio telles.

    $ echo './Maildir/' > $HOME/.qmail importante lembrar que, ser necessrio criar o diretrio Maildir e sua estrutura, utilizando o programa maildirma-ke.

    Ainda possvel utilizar scripts e/ou programas dentro dos arquivos dot-qmail.

    Exemplo 4: $HOME do usurio telles.

    $ cat $HOME/.qmail# Programa para filtragem de lixo

    |./lixo.sh&[email protected]

    ./Maildir/

    No exemplo acima, todas as mensagens enviadas para o usurio telles, sero submetidas ao programa lixo.sh e sepassarem desta etapa, sero encaminhadas ao e-mail [email protected] e entregues no Maildir do usurio.

    Se .qmail possuir permisses de leitura para todos usurios ou grupos do sistema, ou se o diretrio $HOME do usu-rio possuir a flag sticky ligada, qmail-local suspende a entrega e devolve a mensagem fila de e-mails.

    A utilizao da flag sticky (chmod +t $HOME) deve ser utilizada para manuteno e edio do arquivo .qmail comsegurana, fazendo com que novas mensagens que alcancem a caixa de correio do usurio, voltem para a fila e se-jam entregues mais tarde, quando a flag sticky no estiver mais setada (chmod -t $HOME) .Exemplo 5:

    $ chmod +t $HOME

    Qmail - Guia de consulta

    34

  • $ /var/qmail/bin/qmail-local -n $USER ~ $USER '' '' '' '' ./Maildir/Warning: home directory is sticky.

    maildir ./Maildir/

    did 1+0+0

    $ chmod -t $HOME$ /var/qmail/bin/qmail-local -n $USER ~ $USER '' '' '' '' ./Maildir/maildir ./Maildir/

    did 1+0+0

    qmail-users - assign/cdb possvel criar uma tabela de usurios do qmail associada a usurios do sistema.Este sistema utiliza os arquivos assign e cdb que esto localizados no diretrio /var/qmail/users e muito similaraos sistemas de aliases j mencionados, com a diferena de utilizar mtodos e programas diferentes para a mesma ta-refa.

    O arquivo assign contem os mapeamentos de usurios qmail para usurios do sistema, um em cada linha; cdb, umarquivo binrio gerado pelo programa qmail-newu a partir de assign.

    assign possui o formato:

    =endereo:usurio:uid:gid:diretrio:trao:alias:

    Ainda possvel utilizar o sinal + (adio) como curinga no lugar de = (igual), que far o qmail localizar ende-reo no incio do endereo de recipiente.

    Ex:

    # cat /var/qmail/users/assign

    =telles:rodrigo:500:500:/home/rodrigo:::

    +news-:rodrigo:500:500:/home/rodrigo:-::

    .

    # /var/qmail/bin/qmail-newu

    E-mails enviados para telles sero entregues para o usurio rodrigo e e-mails enviados para qualquer endereo quecomece com news- tambm sero entregues ao usurio rodrigo.

    Desta forma, um e-mail enviado para news-unix ser tratado por /home/rodrigo/.qmail-unix.

    NOTA: A ltima linha do arquivo assign sempre deve ser um nico . (ponto).Entrega local:

    Qmail - Guia de consulta

    35

  • O programa dot-forwardO programa dot-forward extende os recursos de encaminhamento do qmail, permitindo-o utilizar os arquivos de for-ward (.forward) do sendmail, tornando migraes transparentes para os usurios.

    dot-forwarddot-forward [ -nN ] .forwardSe .forward existir, dot-forward encaminha mensagens de entrada de acordo com instrues no padro sendmailcontidas em .forward.Exemplo 1:

    Dentro do arquivo $HOME/.qmail do usurio:

    | dot-forward .forward./Maildir/

    No esquea de incluir uma linha logo aps a instruo dot-forward, informando ao programa qmail-local que amensagem deve ser entregue na caixa de e-mail do usurio se dot-forward no encontrar o arquivo .forward, casocontrrio o usurio local no receber novas mensagens.

    Exemplo 2:

    possvel informar vrios arquivos de forward:

    Qmail - Guia de consulta

    36

  • | dot-forward .forward .forward1 .forward2./Maildir/

    dot-forward vai executar as instrues do primeiro arquivo de forward que existir e contiver instrues, caso contr-rio, testa cada arquivo at o final da lista.

    Normalmente, dot-forward sai com cdigo de erro 99, desta forma qmail-local ignora as prximas instrues conti-das no arquivo .qmail.

    Se o nome do usurio local estiver listado em .forward ou .forward no existir, dot-forward sai com cdigo de erro 0(zero) e qmail-local processar o restante das instrues contidas no arquivo .qmail normalmente.Se dot-forward encontrar algum erro ao tentar ler .forward, sai com cdigo de erro 111, fazendo com que o e-mailvolte para a fila; qmail-local tentar entreg-lo novamente mais tarde.

    Exemplo 3:

    .forward pode conter vrias linhas, cada uma contendo vrios endereos de e-mail$ cat .forwardtelles, kerne, langona

    Joao Dias Exemplo 4:

    Ainda possvel utilizar comandos e comentrios dentro de .forward:$ cat .forward# Aviso de frias para Telles

    telles, | vacation tellesdot-forward entregar novos e-mails para telles e em seguida os encaminhar ao programa vacation, juntamente comas variveis de ambiente $UFLINE, $RPLINE e $DTLINE, utilizando telles como parmetro do programa.

    Para utilizar dot-forward de forma global para todos os usurios, basta modificar o arquivo de inicializao do pro-grama qmail-start (geralmente em /var/qmail/rc) para que fique desta forma:exec env - PATH="/var/qmail/bin:$PATH" \qmail-start '|dot-forward .forward./Maildir' splogger qmail

    Opo Descrio

    -nL .forward e imprime em STDOUT as instrues a serem executadas sem execut-las. til para executardot-forward via linha de comando e visualizar como .forward ser interpretado.

    -N L e encaminha a mensagem (Padro).

    Notas de compatibilidade:

    Qmail - Guia de consulta

    37

  • dot-forward no suporta mtodos :include: ou entregas no formato mbox. Utilize o mtodo dot-qmail.

    dot-forward ignora arquivos .forward vazios.

    Se dot-forward encontrar um erro temporrio no processamento de um arquivo .forward, sai com cdigo de erro111, fazendo qmail-local processar a mensagem novamente mais tarde. sendmail assume incorretamente que oarquivo no existe.

    .forward precisa ser legvel por dot-forward, que normalmente roda com as permisses do usurio local. send-mail normalmente executado pelo usurio root e possui acesso total a todos os arquivos.

    sendmail manipula (aspas) e \ (contra-barras), violando as RFCs 821 e 822. dot-forward no manipula taiscaracteres; endereos do tipo \joao so tratados da mesma forma que joao.

    dot-forward permite comentrios nos arquivos .forward; verses do sendmail anteriores a V8 no permitem co-mentrios nos arquivos .forward.

    Programas do pacote fastforwardfastforward um conjunto de programas que permitem ao qmail, utilizar-se de arquivos de aliases/forwards(/etc/aliases) e arquivos de tabela de domnios virtuais criados especificamente para o programa sendmail.

    fastforwardfastforward [ -nNpPdD ] cdb

    Encaminha cada mensagem recebida, seguindo instrues contidas em cdb, criado previamente por setforward.fastforward geralmente utilizado dentro do arquivo de alias ~alias/.qmail-default, mas pode ser utilizado tambmem outros arquivos padro dot-qmail.

    Arquivos do tipo ~alias/.qmail-recipiente tem precedncia sobre ~alias/.qmail-default.Se no existir instrues de forward para o destinatrio do e-mail no arquivo cdb, fastforward rejeita a mensagem e adevolve ao seu remetente.

    Nota de segurana:

    Se cdb incluir instrues para uma lista de e-mails controlada por outro usurio, este usurio ganhar algumas per-misses de fastforward para executar tarefas com as permisses do usurio original. Isso permite que este usurioforce o acesso a arquivos que somente o usurio original teria.

    Opo Descrio

    -n No faz forward da mensagem, apenas imprime instrues que sero seguidas no momento da entrega.

    Qmail - Guia de consulta

    38

  • Opo Descrio

    -N Encaminha a mensagem conforme instrues contidas em cdb (Padro).

    -pSe fastforward no localizar instrues para o recipiente da mensagem em cdb, sai com cdigo de erro 0(zero), fazendo com que as prxima instrues do arquivo .qmail-default sejam executadas normalmente.Se fastforward localizar instrues para o recipiente da mensagem em cdb, encaminha a mensagem e saicom cdigo de erro 99, fazendo com que as prximas instrues do arquivo .qmail-default sejam ignoradas.

    -P Se fastforward localizar instrues para o recipiente da mensagem em cdb, encaminha a mensagem e saicom cdigo de erro 0 (zero), caso contrrio, rejeita e mensagem e devolve ao seu rementente (Padro).

    -d Utiliza $DEFAULT@$HOST como endereo de recipiente ou $EXT@$HOST se $DEFAULT no estiversetado.

    -D Utiliza $RECIPIENT como endereo de recipiente (Padro).

    newaliasesL uma tabela de aliases a partir do arquivo /etc/aliases, e converte em uma base de dados cdb (/etc/aliases.cdb) paraser utilizada pelo programa fastforward; newaliases um clone do programa newaliases do sendmail.Por segurana, newliases converte a tabela de aliases para /etc/aliases.tmp e somente depois move /etc/aliases.tmppara /etc/aliases.cdb.

    Caso ocorra um problema na gravao do arquivo /etc/aliases.tmp, newaliases no tenta mover /etc/aliases.tmp para/etc/aliases.cdb, preservando o contedo anterior do arquivo inalterado e sem prejudicar entregas que esto aconte-cendo no momento.

    newaliases sempre cria o arquivo /etc/aliases.cdb com permisso de leitura para todos os usurios do sistema.

    newaliases no tenta proteger /etc/aliases.cdb contra atualizaes simultneas.

    Formato do arquivo /etc/aliases

    Aliases e forwards podem conter a forma:

    root: sysadm

    sysadm: telles, kernel

    sysop: Just for fun # comentrios so ignorados

    kernel: kerne

    # executando programas e scripts

    script: | ./script.shAonde novas mensagens para o usurio root sero encaminhadas para sysadm que por sua vez sero encaminhadaspara os usurios telles e kernel, aonde kernel um alias para kerne e novas mensagens para o usurio sysop seroencaminhadas para o e-mail [email protected].

    Qmail - Guia de consulta

    39

  • Quando newaliases encontrar um endereo de recipiente que no possui um nome de domnio (@dominio.com.br)seguido de um | (barra vertical), processa o contedo logo aps a barra vertical como sendo um programa a serexecutado. fastforward executar ./script.sh quando receber uma mensagem para script.Qualquer endereo de recipiente que no possua @dominio.com.br utilizar os mecanimos defaulhost, defaultdo-main e plusdomain.

    Instrues de encaminhamentos podem ser separadas em vrias linhas, desde que a prxima linha inicie com um es-pao em branco, tab ou esteja vazia.Ex:

    hostmaster:

    telles,

    nobody

    Comentrios pode ser separados em vrias linhas, desde que a prxima linha inicie com um espao em branco, tabou esteja vazia.Ex:

    # comentrios

    em varias

    linhas so permitidos.

    Notas de compatibilidade:

    newaliases no suporta entrega em arquivo, utilize o mecanismo de entrega dot-qmail (formato mbox).

    Se existir vrias entradas de encaminhamentos para o mesmo alias em /etc/aliases, sendmail solta uma mensa-gem de erro na tela; fastforward utilizar silenciosamente a primeira instruo.

    sendmail processa aspas (aspas) e \ (contra-barras) em /etc/aliases, violando as RFC's 821 e 822; newaliasesno processa tais caracteres.

    sendmail no suporta aliases por host, sendo assim, processa [email protected] da mesma forma que user, sehost.com.br for local.

    Grupos de endereos no so permitidos.

    Vrias verses do sendmail fazem coisas estranhas quando encontram aliases circulares; nestes casos, fastfor-ward entrega a mensagem apenas uma vez.

    Qmail - Guia de consulta

    40

  • Endereos de e-mail podem legitimamente iniciar com / (barra) ou | (pipe - barra vertical). newaliases pro-cessa qualquer instruo que contenha o smbolo @ e no esteja entre (aspas) como um recipiente de e-mail. Aparentemente, sendmail tem vrios problemas com estes endereos e com comandos que contenham osimbolo @ (arroba).

    newaliases no permite a utilizao de | (barra vertical) antes de aspas duplas.

    sendmail requer que a , (vrgula) esteja na primeira linha de um encaminhamento separado em vrias linhas deinstrues.

    sendmail no permite linhas em branco no meio de uma continuao de encaminhamentos separados em mlti-plas linhas.

    sendmail no permite comentrios divididos em mltiplas linhas.

    Arquivos de Include

    Se um endereo de recipiente possuir a forma :include:usurios, significa que todos os usurios contidos no arqui-vo usurios devem receber uma cpia da mensagem. Atualmente, fastforward l o arquivo usurios.bin que deve sercriado utilizando-se o programa newinclude.

    Perceba que o arquivo usurios lido por fastforward e no pelo programa newaliases, desta forma, o administradorno precisa executar newaliases a cada modificao feita em usurios.

    Notas de compatibilidade:

    Se o arquivo de include usurios no puder ser lido ou no existir, sendmail ignora esta entrada; fastforward so-mente adia a entrega da mensagem, fazendo-a retornar fila de e-mails.

    sendmail no permite espaos em branco no texto da instruo :include: nome-aps-espao, newaliases permi-te.

    verses do sendmail anteriores a V8, no retiram as aspas (quote) de arquivos :include:.

    Alias Owners

    Se existir um alias owner-lista, aonde lista aponta para vrios usurios ou outros aliases, fastforward altera o sender(Return-Path:) de cada mensagem por owner-lista, antes de encaminhar a mensagem para os destinatrios contidosem lista.

    Ex:

    humor: telles, kerne, hugo, cleri

    owner-humor: telles

    Qmail - Guia de consulta

    41

  • Desta forma, novas mensagens para humor sero entregues para telles, kerne, hugo e cleri, e caso algum destes usu-rios no exista ou ocorra um erro na entrega da mensagem, este erro retornar para o usurio telles listado como ow-ner (dono) da lista humor.Nota de compatibilidade:

    Quando um alias inclui um endereo de recipiente e outros aliases, aonde o mesmo endereo de recipiente tambmest listado dentro de um dos aliases, fastforward enviar a mesma mensagem 2 (duas) vezes, cada uma com um en-dereo de sender diferente. sendmail envia a mensagem apenas uma vez, e o sender a ser utilizado vai dependermuito das fases da lua.

    Ex:

    owner-humor: telles

    humor: telles, kerne, hugo, cleri

    friends: kerne, humor

    newincludenewinclude arquivo-de-lista

    L entradas do tipo :include: arquivo-de-lista no estilo sendmail e converte em um formato binrio(arquivo-de-lista.bin) para ser utilizado por fastforward.newinclude primeiro escreve no arquivo arquivo-de-lista.tmp e ento move o arquivo para arquivo-de-lista.bin.

    Caso ocorra um problema na gravao de arquivo-de-lista.tmp, newinclude no tenta mover arquivo-de-lista.tmppara arquivo-de-lista.bin, preservando o contedo anterior do arquivo arquivo-de-lista.bin (caso exista) inalterado.newinclude sempre cria arquivo-de-lista.bin com permisso de leitura para todos os usurios do sistema.

    arquivo-de-lista pode conter vrias linhas, cada linha pode conter vrios endereos de e-mail separados por ,(vrgula) e ainda outras instrues do tipo :include:arquivo-de-lista.Qualquer linha que iniciar com um # (comentrio) ser ignorada.Nota de compatibilidade:

    sendmail l arquivo-de-lista diretamente, fastforward necessita do arquivo em formato binrio(arquivo-de-lista.bin). A estratgia utilizada por sendmail pode causar um disastre se o arquivo estiver sendo es-crito no disco ao mesmo tempo que sendmail estiver lendo-o; o arquivo pode ser truncado e ainda in