Pular para o conteúdo

como enviar emails pelo shell? [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar
01 02

1. como enviar emails pelo shell? [RESOLVIDO]

Enviado em 14/04/2008 - 09:45h

Estou necessitando enviar emails pelo shell (console). Qual o serviço mais simples de configurar para essa função e como se configura? Estou necessitando fazer isso no CL10.



Muito obrigado e aguardo qualquer comentário.

Responder tópico

2. Re: como enviar emails pelo shell? [RESOLVIDO]

Melhor resposta

Enviado em 14/04/2008 - 13:35h

#!/bin/bash

# Enviar email em shell via NC

# Ip do servidor SMTP
SMTP="127.0.0.1"

# Email de quem envia
EMAILFROM='<fulano@da.silva>'

# Email que ira APARECER no leitor do destinatario
REMETENTE="\"Fulano da Silva\" $EMAILFROM"

# ASSUNTO
ASSUNTO="Apenas um teste"

# Meu hostname
HELO="localhost"

# Quem deve receber?
EMAILPARA='<pedroca@seu.pedroca>'

# Email de Destinatario que ira APARECER no leitor
DESTINATARIO="\"Seu pedroca\"$EMAILPARA"

nc $SMTP 25 <<END
HELO $HELO
MAIL FROM:$EMAILFROM
RCPT TO:$EMAILPARA
DATA
subject: $ASSUNTO
from: $REMETENTE
to: $DESTINATARIO

Aqui estamos apenas enviando um email de teste.
.
QUIT
END

3. mail

Enviado em 14/04/2008 - 10:01h

Se a máquina estiver com o servidor de email instalado (sendmail, postfix, etc), um simples mail resolve.

mail -s "ASSUNTO" destino
(aqui tu escreve o corpo)

4. Re: como enviar emails pelo shell? [RESOLVIDO]

Enviado em 14/04/2008 - 10:03h

Você pode fazer isso até via telnet.

Na documentação do QMail tem como fazer isso, assim você não precisa perder tempo configurando nada praticamente.

5. nc

Enviado em 14/04/2008 - 10:08h

Melhor o nc (netcat).

telnet é péssimo se for colocar dentro de um script onde tu precises redirecionar a entrada padrão:

nc servidor 25 << END
HELO meuNome
MAIL FROM:<MeuEndereco@MeuDominio>
RCPT TO:<EmailDestino>
DATA
From: <EnderecoRemetente>
to: <para quem>
subject: <assunto>

blabla bla

.
END

Esta forma nao eh suportada pelo telnet, pois ele não permite redirecionar entrada padrão.

6. Re: como enviar emails pelo shell? [RESOLVIDO]

Enviado em 14/04/2008 - 11:17h

Olá amigos,

Tentei as três maneiras e nem uma delas funcionou. E agora?

Gostaria que o mesmo funcionasse com o mail, pois utilizo desse forma no Debian e funciona super bem.

Grato e aguardo qualquer comentário.

7. Re: como enviar emails pelo shell? [RESOLVIDO]

Enviado em 14/04/2008 - 11:31h

elgio,

Quando executo no shell o comando "nc servidor 25" conecta legal, vou seguindo o seu roteiro de comando, mas quando chega em "RCP TO:<EmailDestino>" dá erro de "554 Error: command not implemented" e em "DATA" o erro de "554 Error: no valid recipients". O que será?

Grato.

8. Re: como enviar emails pelo shell? [RESOLVIDO]

Enviado em 14/04/2008 - 11:34h

Desculpe, o correto é:

RCPT TO:

9. Re: como enviar emails pelo shell? [RESOLVIDO]

Enviado em 14/04/2008 - 11:41h

Esta técnica, que ensinei, e protocolo SMTP puro, direto na porta 25. É isto que cada cliente realmente faz ao clicar em ENVIAR.

Quando se digita DATA, qualquer linha após isto AINDA É CABEÇALHO, por isto que tem o subject, to: e from: ali que serão os exibidos pelo leitor.

Uma linha em branco FECHA os cabeçalhos e começa o corpo do email.

Uma linha com apenas UM PONTO na primeira coluna encerra a conversa.

Isto é SMTP regido pela RFC 2821 (ftp://ftp.rfc-editor.org/in-notes/rfc2821.txt)

10. Re: como enviar emails pelo shell? [RESOLVIDO]

Enviado em 14/04/2008 - 12:21h



Beleza elgio,

Eu não tenho dúvidas sobre a técnica aplicada por você nesse exemplos, apenas estava perdido quanto aos comandos, pois faz muito tempo que não mexo com nada referente a correio. Tenho certeza que agora vai funcionar.

Muitissímo obrigado pela sua atenção.

11. Re: como enviar emails pelo shell? [RESOLVIDO]

Enviado em 24/04/2008 - 12:51h

Elgio,

Muito obrigado pelo exemplo.

Abraço.

12. sendmail

Enviado em 25/04/2008 - 18:40h

tô instalando o sendmail. vou testar.
01 02

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder