a versao do mailx que estou rodando é essa aqui: 12.1 6/15/06
o from ta funcionando bem aqui com o mailx. Mas na verdade ele só muda o
campo from mesmo, prq todos o resto é feito com meu agente local. Por isso
alguns servidores bloqueiam ip dinamico nao recebem minhas mensagens mesmo
mudando o campo from, com isso vou testar esse método de autenticacao que vc
esta me aconselhando.

>O que acha? Vale a pena implementar?

to achando muito legal, vale implementar sim, vai dar um pouco de trabalho,
mas vou ter maior controle das rotinas do envio de mensagens no script.
Agora com relacao ao sed removendo os "<>" tags do html fica legal, mas mata
código html, aquele anterior com php nesse caso fica mais bacana.
Mas muito grato mesmo pelo auxilio.
Grande abraco, t+



On 28/02/2008, Junior Polegato - Linux <[EMAIL PROTECTED]> wrote:
>
> plebeo escreveu:
>
> > Só conlcuindo aí, testei com o php e funcionou tb.
> >
>
> >     On 27/02/2008, *Junior Polegato - Linux*
> >     <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
>
> >     wrote:
> >
> >         Você não pode fazer isso em PHP?
> >
> >         php -r '$remetente = "Junior <[EMAIL PROTECTED]
>
> >         <mailto:[EMAIL PROTECTED]>>"; $destinatario
>
> >         = "Clicano <[EMAIL PROTECTED]
>
> >         <mailto:[EMAIL PROTECTED]>>"; $assunto = "Assunto da
>
> >         mensagem"; $arquivo_html = "/caminho/arquivo/html";
> >         $arquivo_aberto =
> >         fopen($arquivo_html, "r"); $mensagem_html =
> fread($arquivo_aberto,
> >         filesize($arquivo_html)); fclose($arquivo_aberto);
> >         mail($destinatario,
> >         $assunto, $mensagem_html, "From: ".$remetente."\nContent-Type:
> >         text/html; charset=UTF-8");'
> >
>
>
> Olá,
>
>        Legal! Mas em se tratando de usar mailx, até onde eu sei, este
> não suporta por padrão autenticação SMTP e nem esse from=, qual versão
> está usando?
>
> $ dpkg -l "*mailx*"|grep ii
> ii  bsd-mailx
> 8.1.2-0.20071201cvs-2            A simple mail user agent
> ii  mailx
> 1:20071201-2                     Transitional package for mailx rename
>
>        Outra alternativa, para não depender de pacotes ou de PHP ou
> outro que seja, é fazer a autenticação na unha, cujo algoritmo não é tão
> complicado:
>
> // Conectar
> socket = conectar_por_socket(Servidor, Porta);
> esperar_reposta(socket, "220");
> // verificar se conectou e se espera por autenticação
> enviar(socket, "EHLO ", Servidor);
> espera_por_autenticação = esperar_reposta(socket, "250", verdadeiro);
> // Autenticar se espera por autenticação
> se (espera_por_autenticação)
>     enviar(socket, "AUTH LOGIN");
>     esperar_resposta(socket, "334");
>     enviar(socket, base64(Usuario));
>     esperar_resposta(socket, "334");
>     enviar(socket, base64(Senha));
>     esperar_resposta(socket, "235");
> // Verificar se está passando sem autenticação
> senão
>     enviar(socket, "HELO ", Servidor);
>     esperar_resposta(socket, "250");
> // Dados requeridos para enviar e-mail: remetente, destinatário e dados
> enviar(socket, "MAIL FROM: ", Remetente);
> esperar_resposta(socket, "250");
> enviar(socket, "RCPT TO: ", Destinatario);
> esperar_resposta(socket, "250");
> enviar(socket, "DATA");
> esperar_resposta(socket, "354");
>
> // Agora sim vem o e-mail, sendo o cabeçalho separado do corpo pela
> primeira linha em branco
>
> // Cabeçalho
> enviar(socket, "From: ", Remetente);
> enviar(socket, "To: ", Destinatario);
> enviar(socket, "Subject: ", Assunto);
> enviar(socket, "User-Agent: Envmail - Junior Polegato - v0.1");
> enviar(socket, "MIME-Version: 1.0");
> enviar(socket, "Content-Type: multipart/alternative;");
> enviar(socket, "boundary=\"separador_de_partes_deste_e-mail\"");
> enviar(socket, "");
> enviar(socket, "This is a multi-part message in MIME format.");
> enviar(socket, "--separador_de_partes_deste_e-mail");
> enviar(socket, "Content-Type: text/plain; charset=UTF-8; format=flowed");
> enviar(socket, "Content-Transfer-Encoding: 7bit")
> // Aqui poderia enviar a parte texto
> // enviar(socket, Corpo_Texto);
> enviar(socket, "");
> enviar(socket, "Este é um teste de envio em *HTML*!");
> enviar(socket, "");
> enviar(socket, "--separador_de_partes_deste_e-mail");
> enviar(socket, "Content-Type: text/html; charset=UTF-8");
> enviar(socket, "Content-Transfer-Encoding: 8bit");
> enviar(socket, "");
> // Aqui poderia enviar a parte texto
> // enviar(socket, Corpo_HTML);
> enviar(socket, "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01
> Transitional//EN\">");
> enviar(socket, "<html>");
> enviar(socket, "<head>");
> enviar(socket, "</head>");
> enviar(socket, "<body>");
> enviar(socket, "Este &eacute; um testes de envio em <b>HTML</b>!<br>");
> enviar(socket, "</body>");
> enviar(socket, "</html>");
> enviar(socket, "");
> enviar(socket, "--separador_de_partes_deste_e-mail--");
> // Final do e-mail entendido pelo servidor
> enviar(socket, "");
> enviar(socket, ".");
> esperar_resposta(socket, "250");
> // Fecha a conexão
> enviar(socket, "QUIT");
> desconectar_por_socket(socket);
>
>
> O arquivo texto pode ser gerado a partir do HTML assim:
>
> sed 's/<[/]*b>/*/g;s/<[^>]*>//g;/^[ \t]*$/d' arquivo.html > arquivo.txt
>
>
> O que acha? Vale a pena implementar?
>
>
> --
>
> Atenciosamente,
>
>            Junior Polegato
>
>            Um peregrino de problemas; Um pergaminho de soluções!
>            Página Profissional: http://www.juniorpolegato.com.br
>
>

Responder a