fbpx

Comandos Linux – Comando sendmail

Comando sendmail do Linux

comando sendmail

Em sistemas operacionais do tipo Unix, o sendmail é um recurso de roteamento de email de uso geral que suporta muitos tipos de métodos de transferência e entrega de email, incluindo o SMTP (Simple Mail Transfer Protocol) usado para o transporte de email pela Internet .

Descrição

O sendmail envia uma mensagem para um ou mais destinatários, roteando a mensagem por quaisquer redes necessárias. O sendmail faz o encaminhamento de redes conforme necessário para entregar a mensagem no local correto.

O sendmail não pretende ser uma rotina de interface do usuário; outros programas oferecem front-ends fáceis de usar. O sendmail é usado apenas para entregar mensagens pré-formatadas.

Sem nenhum sinalizador especificado, o sendmail lê sua entrada padrão até o final do arquivo ou uma linha que consiste apenas de um único ponto e envia uma cópia da mensagem encontrada lá para todos os endereços listados. Ele determina as redes a serem usadas com base na sintaxe e no conteúdo dos endereços.

Os endereços locais são pesquisados ​​em um arquivo e com o alias apropriado. O aliasing pode ser evitado precedendo o endereço com uma barra invertida. A partir da versão 8.10, o remetente é incluído em qualquer expansão de alias; por exemplo, se “john” enviar email para “group” e “group” incluir “john” na expansão, a carta também será entregue para “john”.

Sintaxe

sendmail [ sinalizadores ] [ endereço ...]

Sintaxe alternativa

O sendmail também pode ser chamado, com funcionalidade especial, usando os seguintes comandos.

newaliases
mailq [-v]
hoststat
purgestat
smtpd

Veja abaixo para mais informações.

Parâmetros

-AcUse submit.cf mesmo que o modo de operação não indique um envio de email inicial.
-SouUse sendmail.cf mesmo que o modo de operação indique um envio de email inicial.
-B typeDefina o tipo de corpo para digitar . Os valores legais atuais são 7BIT ou 8BITMIME .
-BAEntre no modo ARPANET . Todas as linhas de entrada devem terminar com um CR – LF e todas as mensagens serão geradas com um CR-LF no final. Além disso, os campos “De:” e “Remetente:” são examinados para o nome do remetente.
-bdExecute como um daemon . O sendmail será bifurcado e executado em segundo plano, ouvindo no soquete 25 as conexões SMTP recebidas. Isso normalmente é executado em / etc / rc .
-bDO mesmo que -bd , exceto que ele é executado em primeiro plano.
-bhImprima o banco de dados de status do host persistente .
-bHLimpe as entradas expiradas do banco de dados de status do host persistente.
-biInicialize o banco de dados de alias.
-bmEntregar correio da maneira usual (esse é o padrão).
-bpImprima uma lista das filas .
-bPImprima o número de entradas na (s) fila (s); disponível apenas com suporte a memória compartilhada.
-bsUse o protocolo SMTP conforme descrito no RFC 821 na entrada e saída padrão. Esse sinalizador implica todas as operações do sinalizador -ba que são compatíveis com o SMTP.
-btExecute no modo de teste de endereço. Este modo lê endereços e mostra as etapas na análise; é usado para depurar tabelas de configuração.
-bvVerifique apenas nomes; não tente coletar ou entregar uma mensagem. O modo de verificação é normalmente usado para validar usuários ou listas de discussão.
Arquivo -CUse arquivo de configuração alternativa. O sendmail renuncia a qualquer privilégio aprimorado ( ID do usuário definido ou ID do grupo definido) se um arquivo de configuração alternativo for especificado.
-D logfileEnvie a saída de depuração para o arquivo de log indicado em vez de stdout.
-d categoria nível …Defina o sinalizador de depuração da categoria para o nível . A categoria é um número inteiro ou um nome que especifica o tópico e nivela um número inteiro que especifica o nível de saída de depuração desejado. Níveis mais altos geralmente significam mais produção. Mais de um sinalizador pode ser especificado, separando-os com vírgulas. Uma lista de categorias de depuração numérica pode ser encontrada no arquivo TRACEFLAGS na distribuição de origem do sendmail . A opção -d0.1 imprime a versão do sendmail e as opções usadas durante a compilação. A maioria das outras categorias só é útil e documentada no sendmailcódigo fonte do
-F nome completoDefina o nome completo do remetente.
-f nomeDefine o nome da pessoa “de” (ou seja, o remetente do envelope do correio). Esse endereço também pode ser usado no cabeçalho “De:” se esse cabeçalho estiver ausente durante o envio inicial. O endereço do remetente do envelope é usado como destinatário das notificações de status de entrega e também pode aparecer no cabeçalho “Return-Path:”. -f deve ser usado apenas por usuários “confiáveis” (normalmente root , daemon e rede ) ou se a pessoa que você está tentando se tornar for a mesma que você. Caso contrário, um cabeçalho “X-Authentication-Warning” será adicionado à mensagem.
-GEnvio de retransmissão (gateway) de uma mensagem, por exemplo, quando o rmail chama sendmail .
-h NDefinir a contagem de saltos para N . A contagem de saltos é incrementada toda vez que o email é processado. Quando atinge um limite, o email é retornado com uma mensagem de erro, provavelmente a vítima de um loop de alias. Se não especificado, as linhas “Recebidas:” na mensagem são contadas.
-EuIgnore pontos sozinhos nas linhas sozinhos nas mensagens recebidas. Isso deve ser definido se você estiver lendo dados de um arquivo.
-L tagDefina o identificador usado nas mensagens syslog para a tag fornecida .
-N dsnDefina as condições de notificação de status de entrega como dsn , que pode ser ” nunca ” para nenhuma notificação ou uma lista separada por vírgula dos valores ” falha ” a ser notificada se a entrega falhar, ” atraso ” a ser notificado se a entrega atrasar e ” êxito “para ser notificado quando a mensagem for entregue com sucesso.
-nNão faça alias.
-O opção valorDefina a opção option para o valor especificado . Este formulário usa nomes longos. Veja abaixo para mais detalhes.
-o valor xDefina a opção x para o valor especificado . Este formulário usa apenas nomes de caracteres únicos.
protocolo -pDefina o nome do protocolo usado para receber a mensagem. Pode ser um nome de protocolo simples como ” UUCP ” ou um protocolo e nome de host, como ” UUCP: ucbvax “.
-q [ hora ]Processe mensagens salvas na fila em intervalos determinados. Se o tempo for omitido, processe a fila uma vez. O tempo é dado como um número marcado, com ” s ” sendo segundos, ” m ” sendo minutos (padrão), ” h ” sendo horas, ” d ” sendo dias e ” w ” sendo semanas. Por exemplo, ” -q1h30m ” ou ” -q90m ” definiriam o tempo limite para uma hora e trinta minutos. Por padrão, o sendmail será executado em segundo plano. Esta opção pode ser usada com segurança com -bd .
-qp [ hora ]Semelhante ao tempo -q , exceto que, em vez de periodicamente bifurcar um filho para processar a fila, o sendmail bifurca um único filho persistente para cada fila que alterna entre processar a fila e dormir. O tempo de sono é dado como argumento ; o padrão é 1 segundo. O processo sempre dormirá pelo menos 5 segundos se a fila estava vazia na fila anterior executada.
-q fProcesse as mensagens salvas na fila uma vez e não bifurque, mas execute em primeiro plano.
nome -qGProcesse trabalhos no grupo de filas chamado somente nome .
-q [ substrLimite os trabalhos processados ​​aos que contêm substr como uma substring do ID da fila ou não é especificado.
-q [ substrLimite os trabalhos processados ​​aos trabalhos em quarentena que contêm substr como substring do motivo da quarentena ou não quando é especificado.
-q [ substrLimite os trabalhos processados ​​aos que contêm substr como substring de um dos destinatários ou não é especificado.
-q [ substrLimite os trabalhos processados ​​aos que contêm substr como substring do remetente ou não quando é especificado.
-Q [ motivo ]Coloque em quarentena itens de fila normais com o motivo especificado ou itens de fila em quarentena em quarentena, se nenhum motivo for especificado. Isso deve ser usado apenas com algum tipo de correspondência de item, conforme descrito acima.
-R retornoDefina a quantidade da mensagem a ser devolvido se a mensagem salta . O parâmetro de retorno pode estar ” cheio ” para retornar a mensagem inteira ou ” hdrs ” para retornar apenas os cabeçalhos. Neste último caso, as devoluções locais retornam apenas os cabeçalhos.
-r nomeUma forma alternativa e obsoleta do sinalizador -f .
-tLeia a mensagem para os destinatários. Para: , Cc: e Bcc: linhas serão digitalizados para endereços de destinatários. A linha Cco: será excluída antes da transmissão.
-V envidDefina a identificação do envelope original. Isso é propagado pelo SMTP para servidores que oferecem suporte a DSNs e é retornado em mensagens de erro compatíveis com DSN.
-vEntre no modo detalhado . Expansões de alias serão anunciadas etc.
-X logfileRegistre todo o tráfego de entrada e saída de malas diretas no arquivo de log indicado. Isso deve ser usado apenas como último recurso para depurar bugs de mala direta. Ele registrará muitos dados muito rapidamente.
Pare de processar sinalizadores de comando e use o restante dos argumentos como endereços.

Opções

Também há muitas opções de processamento que podem ser definidas. Normalmente, eles serão usados ​​apenas por um administrador do sistema . As opções podem ser definidas na linha de comando usando o sinalizador -o (para nomes abreviados), o sinalizador -O (para nomes longos) ou no arquivo de configuração. Esta é uma lista parcial limitada às opções que provavelmente serão úteis na linha de comando e mostra apenas os nomes longos. As opções são:

AliasFile = arquivoUse arquivo alternativo de alias.
HoldExpensiveEm mala direta considerada “cara” para se conectar, não inicie a conexão imediata. Isso requer enfileiramento.
CheckpointInterval = NVerifique o arquivo da fila após cada N entregas bem-sucedidas (padrão 10 ). Isso evita entregas duplicadas excessivas ao enviar para longas listas de discussão interrompidas por falhas no sistema.
DeliveryMode = xDefina o modo de entrega como x . Os modos de entrega são ” i ” para entrega interativa (síncrona), ” b ” para entrega em segundo plano ( assíncrona ), ” q ” apenas para fila; ou seja, a entrega real é feita na próxima vez que a fila é executada e ” d ” é adiado: o mesmo que ” q “, exceto que as pesquisas no banco de dados para mapas que definiram a opção -D (padrão para o mapa do host) são evitadas.
ErrorMode = xDefina o processamento de erros no modo x . Os modos válidos são ” m ” para enviar de volta a mensagem de erro, ” w ” para “gravar” de volta a mensagem de erro (ou enviá-la de volta se o remetente não estiver conectado), ” p ” para imprimir os erros no terminal (padrão ), ” q ” para descartar mensagens de erro (somente o status de saída é retornado) e ” e ” para realizar um processamento especial no BerkNet. Se o texto da mensagem não for enviado de volta pelos modos ” m ” ou ” w ” e se o remetente for local para esta máquina, uma cópia da mensagem será anexada ao arquivo dead.letter no remetente ‘
SaveFromLineSalve Unix-style De linhas na frente de mensagens.
MaxHopCount = NO número máximo de vezes que uma mensagem pode “saltar” antes de decidirmos que ela está em um loop.
IgnoreDotsNão faça pontos sozinhos em uma linha como terminador de mensagens.
SendMimeErrorsEnvie mensagens de erro no formato MIME . Se não estiver definido, a extensão SMTP DSN (notificação de status de entrega) será desativada.
ConnectionCacheTimeout = timeoutDefina o tempo limite do cache de conexão.
ConnectionCacheSize = NDefina o tamanho do cache de conexão.
LogLevel = nO nível do log.
MeToo = FalseNão envie para “eu” (remetente) se eu estiver em uma expansão de alias.
CheckAliasesValide o lado direito dos aliases durante um comando newaliases .
OldStyleHeadersSe definida, esta mensagem pode ter cabeçalhos de estilo antigo. Se não estiver definida, é garantido que esta mensagem tenha novos cabeçalhos de estilo (por exemplo, vírgulas em vez de espaços entre endereços). Se definido, um algoritmo adaptativo é usado para determinar corretamente o formato do cabeçalho na maioria dos casos.
QueueDirectory = queuedirSelecione o diretório no qual colocar as mensagens na fila.
StatusFile = arquivoSalve as estatísticas no arquivo nomeado .
Timeout.queuereturn = timeDefina o tempo limite das mensagens não entregues na fila para o tempo especificado. Após a entrega falhar (por exemplo, devido a um host estar inativo) por esse período de tempo, as mensagens com falha serão retornadas ao remetente. O padrão é cinco dias.
UserDatabaseSpec = userdatabaseSe definido, um banco de dados do usuário é consultado para obter informações de encaminhamento. Você pode considerar isso um complemento do mecanismo de alias, exceto que o banco de dados deve ser distribuído; os aliases são locais para um host específico. Talvez isso não esteja disponível se o seu sendmail não tiver a opção USERDB compilada.
ForkEachJobBifurque cada trabalho durante a execução da fila. Pode ser conveniente em máquinas com pouca memória.
SevenBitInputFaixa de mensagens recebidas para sete bits.
EightBitMode = modeDefina o tratamento da entrada de oito bits para destinos de sete bits para o modo: m (mimefy) será convertido para o formato MIME de sete bits, p (aprovado) passará como oito bits (mas viola os protocolos) es (estrito) retornará a mensagem.
MinQueueAge = timeoutDefine quanto tempo um trabalho deve fermentar na fila entre tentativas de enviá-lo.
DefaultCharSet = charsetDefine o conjunto de caracteres padrão usado para rotular dados de 8 bits que não são rotulados.
DialDelay = sleeptimeSe abrir uma conexão falhar, dormir por sleeptime segundos e tente novamente. Útil em sites de discagem sob demanda.
NoRecipientAction = actionDefinir o comportamento quando não há cabeçalhos de destinatário ( Para: , Cc: ou Bcc: ) na mensagem para a ação : nenhum deixa a mensagem inalterada, adicione-a adiciona um To: cabeçalho com os destinatários do envelope, adicionar-aparentemente-to acrescenta um cabeçalho Aparentemente para: com os destinatários do envelope, o add-bcc adiciona um cabeçalho Bcc: vazio e o add-to-undisclosed adiciona um cabeçalho com a mensagem ` Para: destinatários não revelados :; 
MaxDaemonChildren = NDefine o número máximo de crianças que um daemon SMTP de entrada permitirão gerar a qualquer momento para N .
ConnectionRateThrottle = NDefine o número máximo de ligações por segundo para a porta SMTP para N .

Nos aliases, o primeiro caractere de um nome pode ser uma barra vertical (” | “) para causar a interpretação do restante do nome como um comando para canalizar o correio. Pode ser necessário citar o nome para impedir que o sendmail suprima os espaços em branco entre os argumentos. Por exemplo, um alias comum é:

msgs: "| / usr / bin / msgs -s"

Os aliases também podem ter a sintaxe ” : include: filename ” para solicitar ao sendmail que leia o arquivo nomeado para obter uma lista de destinatários. Por exemplo, um alias como:

poetas: ": include: /usr/local/lib/poets.list"

leia /usr/local/lib/poets.list para obter a lista de endereços que compõem o grupo.

Status de saída

O Sendmail retorna um status de saída descrevendo o que ele fez. Os códigos de saída estão listados abaixo e definidos em <sysexits.h> .

EX_OKConclusão bem-sucedida em todos os endereços.
EX_NOUSERNome de usuário não reconhecido.
EX_UNAVAILABLECatchall, significando que os recursos necessários não estavam disponíveis.
EX_SYNTAXErro de sintaxe no endereço.
EX_SOFTWAREErro interno de software, incluindo argumentos incorretos.
EX_OSERRErro temporário no sistema operacional , como “não é possível bifurcar”.
EX_NOHOSTNome do host não reconhecido.
EX_TEMPFAILNão foi possível enviar a mensagem imediatamente, mas estava na fila.

Invocações alternativas

Se chamado como newaliases , o sendmail recriará o banco de dados de alias.

Se chamado como mailq , o sendmail imprimirá o conteúdo da fila de mensagens.

Se chamado como hosttat , o sendmail imprimirá o banco de dados de status persistente do host.

Se chamado como purgestat , o sendmail limpará as entradas expiradas do banco de dados de status do host persistente.

Se chamado como smtpd , o sendmail atuará como um daemon, como se a opção -bd tivesse sido especificada.

arquivos

Exceto pelo arquivo /etc/mail/sendmail.cf , os seguintes nomes de caminho são todos especificados em /etc/mail/sendmail.cf . Portanto, esses valores devem ser considerados apenas aproximações.

/ etc / mail / aliasesdados brutos para nomes alternativos
/etc/mail/aliases.dbbanco de dados de nomes alternativos
/etc/mail/sendmail.cfarquivo de configuração
/ etc / mail / helpfilearquivo de ajuda
/ etc / mail / statisticsestatísticas coletadas
/ var / spool / mqueue / *arquivos temporários

Exemplos

sendmail [email protected]

O sendmail lerá seu e-mail a partir da entrada padrão e tentará enviar o e-mail quando você inserir um único ponto (” . “) em uma nova linha e pressione Enter. Como exemplo, depois de executar o comando acima, você pode digitar:

De: [email protected] 
Para: [email protected]
Olá, esta é a minha mensagem e estou enviando para você!
.

e o sendmail tentará enviá-lo.

biff – Receba notificações detalhadas por e-mail na linha de comando.
correio – Leia, componha e gerencie correio.
mailx – processa mensagens de correio.
newalias – Instale novos aliases de olmo.
pine – Um cliente para usar correio e grupos de notícias.

21 de novembro de 2019

Sobre nós

A Linux Force Brasil é uma empresa que ama a arte de ensinar. Nossa missão é criar talentos para a área de tecnologia e atender com excelência nossos clientes.

CNPJ: 13.299.207/0001-50
SAC:         0800 721 7901

Comercial  Comercial: (11) 3796-5900

Suporte:    (11) 3796-5900

Copyright © Linux Force Security  - Desde 2011.