Procmail · 11 min read · Dec 30, 2025
6.0 Correspondência e regexps (expressões regulares)
Autor: Jari Aalto.
1.0 ID do documento
- 1.1 Geral
- 1.2 O que é Procmail?
- 1.3 Abreviações e agradecimentos
- 1.4 Informações sobre a versão
- 1.5 Layout e manutenção do documento
- 1.6 Sobre as receitas apresentadas
- 1.7 Variáveis usadas nas receitas
- 1.8 Sobre o “prêmio de uso inútil do cat” 2.0 Pontos de referência do Procmail
- 2.1 Onde o procmail é desenvolvido
- 2.2 Recursos do Procmail
- 2.3 Modo Procmail para Emacs
- 2.4 Projeto da biblioteca de módulos do Procmail
- 2.5 Código do Procmail para filtrar UBE 3.0 Teste de execução seca
- 3.1 O que é teste de execução seca?
- 3.2 Por que o campo From não está correto após a execução seca?
- 3.3 Obtendo o valor padrão de uma variável do procmail 4.0 Coisas para lembrar
- 4.1 Obtenha o procmail mais recente
- 4.2 O til do Csh não é suportado
- 4.3 Certifique-se de escrever a receita corretamente
- 4.4 Sempre defina SHELL
- 4.5 Verifique e defina PATH
- 4.6 Mantenha o log sempre ativo
- 4.7 Nunca adicione uma barra final para diretórios
- 4.8 Lembre-se do que o termo ENTREGUE significa
- 4.9 Cuidado ao colocar comentários em lugares errados
- 4.10 Colocação de chaves
- 4.11 Uso de arquivo de bloqueio local
- 4.12 Arquivo de bloqueio global
- 4.13 Gee, onde coloco todos esses ! * $ ??
- 4.14 Se você enviar uma resposta automática, use o cabeçalho X-loop
- 4.15 Evite camada extra de shell e verifique o comando para SHELLMETAS
- 4.16 Pense nos comandos de shell que você usa
- 4.17 Usando caminhos absolutos ao chamar um programa de shell
- 4.18 Desabilitando uma receita temporariamente
- 4.19 Mantenha o backup da mensagem, não importa o que
- 4.20 Ordem das receitas do procmail 5.0 Sinais do Procmail
- 5.1 A ordem dos sinais
- 5.2 Sinais HB no topo da receita (aviso)
- 5.3 Sinal w e receita com |
- 5.4 Sinal w, arquivo de bloqueio e receita com |
- 5.5 Sinal f e w juntos
- 5.6 Sinais h e b
- 5.7 Sinal h e afundando em /dev/null
- 5.8 Sinal i e sinal de tubo f
- 5.9 Sinal r
- 5.10 Contexto do sinal c
- 5.11 Sinal c antes do bloco aninhado cria um filho
- 5.12 Sinal c e compreensão da possível penalidade de fork
- 5.13 Sinais antes do bloco aninhado
- 5.14 Tutorial de sinais aAeE 6.0 Correspondência e regexps (expressões regulares)
- 6.1 Filosofia da abstração em regexps
- 6.2 Correspondências não são sensíveis a maiúsculas
- 6.3 Procmail usa correspondências de várias linhas
- 6.4 Cabeçalhos são desdobrados antes da correspondência
- 6.5 Melhorando a síndrome Espaço-Tab
- 6.6 Tratamento do caractere de exclamação
- 6.7 Regras para gerar uma classe de caracteres
- 6.8 Correspondendo espaço no final da condição
- 6.9 Cuidado com a barra invertida inicial
- 6.10 Uso correto do Macro TO
- 6.11 Motor regexp do Procmail
- 6.12 Diferenças entre Procmail e egrep
- 6.13 Compreendendo a correspondência mínima do procmail (mesquinho vs. ganancioso)
- 6.14 Explicando \/ e ()\/
- 6.15 Explicando ^^ e ^
- 6.16 ANDing tradicionalmente
- 6.17 ORing tradicionalmente
- 6.18 ORing e receita de pontuação
- 6.19 ORing usando regras de De Morgan 7.0 Variáveis
- 7.1 Definindo e desdefinindo variáveis
- 7.2 Inicialização de variáveis e sintaxe sh
- 7.3 Testando variáveis
- 7.4 O que significa $\VAR?
- 7.5 Armadilhas comuns ao usar variáveis
- 7.6 Citação: Usando aspas simples ou duplas
- 7.7 Citação: Passando valores para um programa externo
- 7.8 Passando valores de um programa externo
- 7.9 Incrementando uma variável por um valor N
- 7.10 Comparando valores
- 7.11 Strings: Quantos caracteres existem em uma determinada string?
- 7.12 Strings: Como remover a nova linha final.
- 7.13 Strings: derivando os últimos N caracteres de uma string.
- 7.14 Strings: Obtendo correspondências parciais de uma string.
- 7.15 Strings: Exemplo de manipulação de string do Procmail
- 7.16 Como levantar uma bandeira se a mensagem foi arquivada
- 7.17 Sinal de dólar em linhas de condição.
- 7.18 Encontrando a misteriosa variável foo
- 7.19 Armazenando código em variável
- 7.20 Obtendo cabeçalhos em uma variável.
- 7.21 Convertendo valor para minúsculas 8.0 Sugestões e várias
- 8.1 Acelerando o procmail
- 8.2 Veja os exemplos da instalação do procmail
- 8.3 Imprimindo estatísticas do seu e-mail recebido
- 8.4 Armazenando caixas de correio UBE fora da cota
- 8.5 Usando as primeiras 5-30 linhas da mensagem
- 8.6 Usando cat ou echo em scripts?
- 8.7 Como executar um comando extra de shell como efeito colateral?
- 8.8 Forçando status de retorno “ok” de script de shell
- 8.9 Torne seu próprio .procmailrc disponível para outros
- 8.10 Usando datas de forma eficiente
- 8.11 Mantenha um log de cabeçalho simples
- 8.12 Compactando mensagens
- 8.13 Parada de emergência para seu .procmailrc 9.0 Pontuação
- 9.1 Usando pontuações por um exemplo
- 9.2 Tutorial breve de pontuação
- 9.3 Escopo da pontuação
- 9.4 Contando o comprimento de uma string
- 9.5 Contando linhas em uma mensagem (Adicionando Linhas: cabeçalho)
- 9.6 Determinando se o corpo é mais longo que o cabeçalho
- 9.7 Correspondendo o último cabeçalho Recebido
- 9.8 Testando intervalo de valores com pontuação (bogofilter)
- 9.9 Como adicionar cabeçalho Content-Length
- 9.10 Testando o tamanho da mensagem ou número de linhas
- 9.11 Contando vírgulas com includerc recursivo 10.0 Uso do Formail
- 10.1 Buscando campos com formail -x
- 10.2 Sempre use a opção -rt do formail
- 10.3 Usando -rt e reescrevendo o endereço From
- 10.4 Formail -rt e cabeçalho Resent-From
- 10.5 Citando a mensagem
- 10.6 Sem citar a mensagem
- 10.7 Como incluir cabeçalhos e corpo na mensagem de resposta
- 10.8 Adicionando texto ao início da mensagem
- 10.9 Adicionando texto ao final da mensagem
- 10.10 Adicionando texto antes da mensagem citada
- 10.11 Adicionando cabeçalhos extras de arquivo
- 10.12 Dividindo digest
- 10.13 Caixa de correio: Dividindo em arquivos individuais
- 10.14 Caixa de correio: Extraindo todos os endereços From da caixa de correio
- 10.15 Caixa de correio: Aplicando receita do procmail em toda a caixa de correio
- 10.16 Caixa de correio: executar uma série de comandos para cada e-mail (dividir caixa de correio)
- 10.17 Opção -D e cache
- 10.18 Opção -D e message-id no corpo
- 10.19 Reduzindo chamadas do formail (adicionando campos condicionalmente)
- 10.20 Formail -A -a opções
- 10.21 Formail -e -s opções 11.0 Salvando mensagens de listas de discussão
- 11.1 Usando sub-rotina pm-jalist.rc para detectar listas de discussão
- 11.2 Usando endereçamento plus [email protected]
- 11.3 Usando truque de comentário RFC para informações adicionais
- 11.4 Manipulação simples de listas de discussão
- 11.5 Arquivando de acordo com TO
- 11.6 Usando Return-Path para detectar listas de discussão 12.0 Procmail, MIME e HTML
- 12.1 Bibliografia Mime
- 12.2 Notas Mime
- 12.3 Software para lidar com mime ou HTML
- 12.4 Tipo de conteúdo mime application/ms-tnef
- 12.5 Capturando mensagens mime HTML
- 12.6 Reclamações sobre mensagens HTML
- 12.7 Convertendo corpo HTML para texto simples
- 12.8 Livrando-se de anexos mime indesejados (HTML, vcard)
- 12.9 Enviando conteúdos de uma página HTML em texto simples para alguém 13.0 Exemplos de receitas simples
- 13.1 Salvando: pastas MH – mensagens numeradas
- 13.2 Salvando: para pastas mensais
- 13.3 Modificando: Noções básicas de filtragem
- 13.4 Modificando: Espremendo linhas vazias ao redor do corpo da mensagem
- 13.5 Modificando: embaralhando cabeçalhos sempre na mesma ordem
- 13.6 Serviço: Auto respondedor para mensagens vazias
- 13.7 Serviço: Respondedor de ping
- 13.8 Serviço: férias simples com procmail
- 13.9 Serviço: exemplo de código de férias
- 13.10 Serviço: Auto-encaminhamento
- 13.11 Serviço: encaminhar apenas mensagens específicas
- 13.12 Serviço: Fazendo digests
- 13.13 Matar: matando cabeçalhos e rodapés de anúncios
- 13.14 Matar: receita simples de kill file com procmail
- 13.15 Matar: mensagens duplicadas
- 13.16 Matar: filtro de spam com receitas simples
- 13.17 Matar: (des)inscrever mensagens
- 13.18 Tempo: Trabalho cron-like uma vez por dia
- 13.19 Tempo: Executando uma receita em um horário específico
- 13.20 Tempo: Acionando e-mail e usando cron
- 13.21 Decodificando: Uudecode
- 13.22 Decodificando: MIME
- 13.23 Como enviar comandos no corpo da mensagem
- 13.24 Correspondendo duas palavras em uma linha, mas não uma
- 13.25 Como definir macros pessoais XX?
- 13.26 Como mudar o assunto por correspondência no corpo
- 13.27 Como mudar o assunto de acordo com algum outro cabeçalho
- 13.28 Como chamar programa com parâmetros 14.0 Receitas diversas
- 14.1 Correspondendo cabeçalho Message-Id válido
- 14.2 Enviando dois arquivos em uma mensagem
- 14.3 Citação excessiva da mensagem
- 14.4 Enviando mensagem para pager em partes
- 14.5 Tocando som particular quando a mensagem chega
- 14.6 Combinando múltiplos cabeçalhos Original-Cc e Original-To
- 14.7 Encaminhando mensagens sensíveis em formato criptografado 15.0 Procmail e PGP
- 15.1 Descriptografar mensagens pgp automaticamente
- 15.2 Obter chaves do servidor de chaves
- 15.3 Captura automática de chaves pgp recebidas 16.0 Uso do Includerc
- 16.1 Usando: múltiplos arquivos rc
- 16.2 Usando: chamar arquivo rc condicionalmente
- 16.3 Usando: carregamento automático de um arquivo rc
- 16.4 Fazendo: nomeação do arquivo rc
- 16.5 Fazendo: Usando espaço de nomes ao salvar variáveis procmail
- 16.6 Fazendo: Variáveis públicas e privadas em arquivo rc
- 16.7 As regras práticas para construir arquivos rc de uso geral
- 16.8 Um esqueleto de includerc 17.0 Servidor de lista de discussão 18.0 Problemas comuns
- 18.1 Modos do Procmail: normal, entrega e filtro de e-mail.
- 18.2 Procmail como dispositivo de filtragem Mlocal do sendmail
- 18.3 Procmail não passa caracteres de 8 bits
- 18.4 Meu ISP não está muito interessado em instalar procmail
- 18.5 Meu ISP tem procmailrc em todo o sistema; isso é uma boa ideia?
- 18.6 Procmail altera permissões de caixa de correio e diretório
- 18.7 Mudando a permissão do mbox durante a compilação para 660
- 18.8 O arquivo .forward deve ser um arquivo real
- 18.9 Usando .forward se o procmail já é LDA
- 18.10 O e-mail deve ser colocado na fila de e-mail se a gravação falhar
- 18.11 Qmail: como fazê-lo funcionar com procmail
- 18.12 Qmail: Procmail olha o arquivo apenas de /var/spool/mail
- 18.13 Qmail: patch para procmail 3.11pre7 para funcionar com Maildirs
- 18.14 AFS: Como usar Procmail quando HOME está em célula AFS
- 18.15 Ajuda, algum idiota enviou meu endereço para 30 listas de discussão
- 18.16 Ajuda, Procmail apita e imprime no meu console
- 18.17 Ajuda, procmail despeja e-mail no console
- 18.18 Ajuda, linha From_ corrompida na caixa de correio
- 18.19 Direcionando o e-mail do usuário para HOME em vez de /var/spool/
- 18.20 Montar NFS /var/mail é uma boa maneira de obter um desempenho ruim
- 18.21 Não consigo ver a resposta do sendmail no LOGFILE
- 18.22 Compilando procmail e escolhendo esquema de bloqueio
- 18.23 Encaminhar muitos e-mails causa carga pesada
- 18.24 O que acontece com o e-mail se o MDA Procmail falhar
- 18.25 Procmail lê toda a mensagem de 90Mb na memória
- 18.26 Ajuda, procmail usa ocasionalmente um enorme pedaço de memória
- 18.27 Procmail sinalizou falta de memória no meu log detalhado
- 18.28 Variáveis DEFAULT e ORGMAIL
- 18.29 Quando o DEFAULT não pode ser enviado
- 18.30 Variável DROPPRIVS
- 18.31 Variável HOME
- 18.32 Variável HOST
- 18.33 Variável LINEBUF
- 18.34 Variável LOG e LOGFILE
- 18.35 Variável TRAP
- 18.36 Variável UMASK
- 18.37 UMASK e permissões
- 18.38 Diferença de desempenho entre backtick e receita “|”
- 18.39 Nomes de arquivos temporários do Procmail ao escrever arquivo
- 18.40 Parâmetro $@
- 18.41 Variáveis do Procmail são terminadas em nulo (detectando string nula)
- 18.42 FROMDAEMON TO e TO e sensibilidade a maiúsculas
- 18.43 Macro TO decifrada
- 18.44 Macro TO_ e RFC 822
- 18.45 FROM_DAEMON decifrado 19.0 Questões técnicas
- 19.1 Lista de códigos de saída
- 19.2 Lista de códigos de precedência
- 19.3 Sendmail e -t
- 19.4 RFC822 Reply-To e problema do formail com múltiplos destinatários
- 19.5 Procmail e servidor IMAP
- 19.6 Máquina que processa e-mail
- 19.7 Compilando procmail e MAILSPOOLHOME 20.0 Software Procmail para Emacs
- 20.1 O que é Emacs
- 20.2 Modo procmail do Emacs e verificação de código Procmail (Lint)
- 20.3 Por que usar procmail com Gnus
- 20.4 Configurando Gnus para procmail - Noções básicas
- 20.5 Gnus para procmail - Mais sobre isso
- 20.6 Emacs e Gnus – Brincando com arquivos spool
- 20.7 Trechos de artigos do Gnus 21.0 RFC, Pedido de comentários
- 21.1 RFCs e sua jurisdição (endereços alterados)
- 21.2 Comentários sobre endereços alterados
- 21.3 RFC e caracteres de endereço de e-mail válidos
- 21.4 RFC e login-name@fdqn
- 21.5 RFCs e assinatura de mensagens
- 21.6 RFC e uso de MIME em grupos de notícias Usenet
- 21.7 Alguns apontadores RFC 22.0 Introdução aos Cabeçalhos de E-mail
- 22.1 Para saber mais sobre e-mail (Recursos)
- 22.2 Palestra de Alan Stebbens
- 22.3 Aplicado a mensagens recebidas
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.