intao 0 Denunciar post Postado Abril 3, 2010 Ou seja,que aceite o envio de codigos HTML sem distorcer o codigo. Aki o exemplo do erro quando enviado uma imagem pelo meu formmail = <a href=\"<a href="http://tinypic.com">http://tinypic.com</a>\" target=\"_blank\">< img src=\"<a href="http://i33.tinypic.com/2nappif.jpg\">http://i33.tinypic.com/2nappif.jpg\</a> " border=\"0\" alt=\"Image and video hosting by TinyPic\"></a> Aki a configuração atual do Formmail = <?php include("config.php"); //Testa campos obrigatórios if ($nome!="" and $email!="") { $msg.="Seu nome: $nome\n"; $msg.="URL: $url\n"; $msg.="E-mail: $email\n"; $msg.="Assunto: $assunto\n"; $msg.="Mensagem: $mensagem\n"; if (@ mail ($mail_destino,$assunto,$msg)) { //Imprimindo confirmação de envio echo " <html> <center><meta http-equiv=refresh content=5;URL=index2.php></html>"; echo "$nome, sua mensagem<br>foi enviado com sucesso!<br>"; echo "Ate mais!<br><br></center> "; } else echo " <meta http-equiv=refresh content=5;URL=index2.php> </html><center><br><br><font color=red> <b>Erro ao enviar e-mail!</b> </font></center> "; } else { //Alerta sobre os campos obrigatórios echo " <br><br><center> $msg_erro <br><br> <a href=\"javascript:window.history.go(-1)\" class=\"links\">Por favor, volte e preencha corretamente.</a> </center> "; } ?> Antes de tudo,muito obrigado pela atenção e desculpe a ignorancia... Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Abril 3, 2010 O proprio manual do PHP explica isso. Veja a página da função mail() no sites deles e leia o Exemplo #4 Enviando email HTML. Compartilhar este post Link para o post Compartilhar em outros sites
intao 0 Denunciar post Postado Abril 4, 2010 O proprio manual do PHP explica isso. Veja a página da função mail() no sites deles e leia o Exemplo #4 Enviando email HTML. Valeu andré,era isso mesmo,me desculpe fazem uma pergunta meio besta,é porque não sou programador,se me permite,gostaria de saber se tem jeito de inserir um outro valor dentro de um ja existente,queria inserir este por post,assim ex: <?php // multiple recipients $to = 'email@email.com' . ', '; // note the comma // subject $subject = 'Birthday Reminders for August'; // corpo $corpo ="\n";(este seria o novo valor) // message $message.= ' <html> <head> <title>Birthday Reminders for August</title> </head> <body> ==============> Gostaria de inserir este($corpo) aqui,entre "<body>" por post,tem como ? <======================= </body> </html>'; /* Atenção se você pretende inserir numa variável uma mensagem html mais complexa do que essa sem precisar escapar os carateres necessários pode ser feito o uso da sintaxe heredoc, consulte tipos-string-sintaxe-heredoc */ // To send HTML mail, the Content-type header must be set $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; // Mail it mail($to, $subject, $message, $headers, $corpo); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Diego Macêdo 6 Denunciar post Postado Abril 4, 2010 Cria uma varíavel só pra receber esse valor que vai ficar entre o <body> e concatena pra inserir ali dentro. PHP <?php // multiple recipients $to = 'email@email.com' . ', '; // note the comma // subject $subject = 'Birthday Reminders for August'; // corpo $corpo = $_POST['corpo']; // message $message.= ' <html> <head> <title>Birthday Reminders for August</title> </head> <body> '.$corpo.' </body> </html>'; /* Atenção se você pretende inserir numa variável uma mensagem html mais complexa do que essa sem precisar escapar os carateres necessários pode ser feito o uso da sintaxe heredoc, consulte tipos-string-sintaxe-heredoc */ // To send HTML mail, the Content-type header must be set $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; // Mail it mail($to, $subject, $message, $headers, $corpo); ?> Compartilhar este post Link para o post Compartilhar em outros sites
intao 0 Denunciar post Postado Abril 5, 2010 Muito bom,e muito obrigado pela atenção diego,mais gostaria de saber porque este metodo desativa a incorporação de "html",por ignorancia minha,pensei ki se descobrisse um jeito de inserir o valor "$corpo" dentro do valor "$message" que graças a você descobri,imaginei que poderia inserir pelo campo "$corpo" do formulario codigos htmls(por exemplo: uma imagem com texto em html),mas pelo ki vi,de alguma forma a inserção de html é anulada no valor "$corpo",ou seja,como valido a inserção de html no valor "$corpo" ? ou intão,se existir esta possibilidade,como inserir codigo html pelo campo "$message" do formulario de forma valida? Desculpe te importunar novamente,e agredeço muito sua compreenção e atenção. Compartilhar este post Link para o post Compartilhar em outros sites
Diego Macêdo 6 Denunciar post Postado Abril 5, 2010 Neste caso, você está enviando o texto de um campo <input type="text">, e que realmente é um texto puro. Caso você queira enviar uma mensagem mesmo em HTML, você poderia utilizar um editor de texto que gere tal HTML como o: - TinyMCE (http://tinymce.moxiecode.com/) - CKEditor (http://ckeditor.com/) Quando você enviar a sua mensagem do formulário que contem o seu texto em HTML, ele será inserido normalmente lá no campo e enviado como você ta imaginando. Compartilhar este post Link para o post Compartilhar em outros sites
intao 0 Denunciar post Postado Abril 5, 2010 Neste caso, você está enviando o texto de um campo <input type="text">, e que realmente é um texto puro. Caso você queira enviar uma mensagem mesmo em HTML, você poderia utilizar um editor de texto que gere tal HTML como o: - TinyMCE (http://tinymce.moxiecode.com/) - CKEditor (http://ckeditor.com/) Quando você enviar a sua mensagem do formulário que contem o seu texto em HTML, ele será inserido normalmente lá no campo e enviado como você ta imaginando. Ola Diego,sou muito burro mesmo,até agora não consegui,nem explicar direito axo ki não consegui,porque o que eu estou tentando fazer é : atraves do campo do formulario,eu inserir um codigo html(não seria uma vez,um unico,e sim diferentes quando eu quisesse,por isso keria ki fosse pelo campo do formulario,pra mim não precisar mexer toda hora se fosse um codigo fixo na pagina php do formmail);exemplo(uma imagem) = "<a href="http://tinypic.com" target="_blank"><img src="http://i37.tinypic.com/2nappif.jpg" border="0" alt="Image and video hosting by TinyPic"></a>"só queria ki esta chegasse formatado no email(detralhe:como pode ver,eu colocaria ela ja formatada) só preciso que esse codigo chegasse formatado,ki até agora não consegui fazer chegar,não existe alguma maneira assim ex: "<input type="text/html">" ? Novamente peço desculpas pela ignorancia e pelo incomodo,é ki não sou programador,e agredeço a paciencia e atenção."(Aberto a ajuda de outros programadores,toda ajuda é bem vinda)" Compartilhar este post Link para o post Compartilhar em outros sites
Diego Macêdo 6 Denunciar post Postado Abril 5, 2010 Use o campo texto normal. FORMULÁRIO: <input type="text" name="corpo"> PHP: $corpo = $_POST['corpo']; // Aqui ele recebe o código HTML enviado pelo formulário. Compartilhar este post Link para o post Compartilhar em outros sites
intao 0 Denunciar post Postado Abril 5, 2010 Use o campo texto normal. FORMULÁRIO: <input type="text" name="corpo"> PHP: $corpo = $_POST['corpo']; // Aqui ele recebe o código HTML enviado pelo formulário. Mais uma vez obrigado pela atenção Diego,intão diego só desta maneira o email não é ki não chega formatado,ele nem é enviado. O unico jeito ki tive sucesso até agora foi colocando o codigo html diretamente na pagina php do formmail,e preciso colocar por post. Estes são os arquivos ki estou usando = Arquivos Compartilhar este post Link para o post Compartilhar em outros sites
Diego Macêdo 6 Denunciar post Postado Abril 5, 2010 Tenta o seguinte no PHP: $corpo = htmlspecialchars_decode($_POST['corpo']); Isso irá forçar a decodificação ser como HTML. Compartilhar este post Link para o post Compartilhar em outros sites
intao 0 Denunciar post Postado Abril 5, 2010 Tenta o seguinte no PHP: $corpo = htmlspecialchars_decode($_POST['corpo']); Isso irá forçar a decodificação ser como HTML. Desculpe,mais ainda não esta enviando "email.php": <?php // multiple recipients $to = 'meuemail@email.com' . ', '; // note the comma // assunto $assunto.= ''; // corpo $corpo = htmlspecialchars_decode($_POST['corpo']); // message $message.= ' <html> <head> <title></title> </head> <body> '.$corpo.' </body> </html>'; // To send HTML mail, the Content-type header must be set $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; // Mail it mail($to, $assunto, $message, $headers, $corpo); ?> Só para não haver duvidas esta é a pagina do form "formulario.php": <form name="form1" method="post" action="email.php"> <table width="100" border="0" cellspacing="0" cellpadding="0" align="left"> <tr bgcolor="#FFFFFF"> <td valign="top" width="100" nowrap><font class="texto">Assunto:</font></td> <td> <input class="form_campos" type="text" name="assunto" size="16"> </td> </tr> <tr bgcolor="#FFFFFF"> <td valign="top" width="100" nowrap><font class="texto">Corpo do post:</font></td> <td> <textarea class="form_campos" cols="80" name="corpo" rows="20"></textarea> </td> </tr> <div align="center"> <input class="form_botao" type="submit" name="Enviar" value="Enviar Mensagem"> <input class="form_botao" type="reset" name="Limpar" value="Limpar"> </div> </form> Ja quando coloco só texto sem formatação,é enviado. Compartilhar este post Link para o post Compartilhar em outros sites
Diego Macêdo 6 Denunciar post Postado Abril 5, 2010 Ele não está enviando email ou não está indo como HTML? Compartilhar este post Link para o post Compartilhar em outros sites
intao 0 Denunciar post Postado Abril 5, 2010 Ele não está enviando email ou não está indo como HTML? Intão Diego,quando ensiro qualquer codigo html,simplismente o email não é enviado,mas quando ensiro apenas texto,o email imediatamente é enviado. Compartilhar este post Link para o post Compartilhar em outros sites
Diego Macêdo 6 Denunciar post Postado Abril 5, 2010 Tenta o seguinte: FORMULÁRIO HTML: <form name="form1" method="post" action="enviar_email.php"> <table width="100" border="0" cellspacing="0" cellpadding="0" align="left"> <tr bgcolor="#FFFFFF"> <td valign="top" width="100" nowrap><font class="texto">Assunto:</font></td> <td> <input class="form_campos" type="text" name="assunto" size="16"> </td> </tr> <tr bgcolor="#FFFFFF"> <td valign="top" width="100" nowrap><font class="texto">Corpo do post:</font></td> <td> <textarea class="form_campos" cols="80" name="corpo" rows="20"></textarea> </td> </tr> <div align="center"> <input class="form_botao" type="submit" name="Enviar" value="Enviar Mensagem"> <input class="form_botao" type="reset" name="Limpar" value="Limpar"> </div> </form> FORMMAIL PHP (enviar_email.php): <?php $para = "email_remetente@dominio.com"; $header = "MIME-Version: 1.0\n"; $header .= "Content-type: text/html; charset=iso-8859-1\n"; $header .= "From: email_remetente@dominio.com\n"; $header .= "Reply-to: email_destino@dominio.com\n"; $assunto = $_POST['assunto']; $mensagem = "<html> <body> <a href='#'> Este é meu <b>primeiro</b> email em formato HTML! </a><br /> ".htmlspecialchars_decode($_POST['corpo'])." </body> </html>"; if(mail($para, $assunto, $mensagem, $header)){ echo "E-mail enviado com sucesso!<br />"; echo $mensagem; }else{ echo "Não foi possível enviar o e-mail!"; echo $mensagem; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
intao 0 Denunciar post Postado Abril 5, 2010 Não deu certo não diego,está é a imagem do email recebido (Aberto a ajuda de outros programadores,toda ajuda é bem vinda) Compartilhar este post Link para o post Compartilhar em outros sites
HIDDEN-AND-DANGEROUS 0 Denunciar post Postado Abril 6, 2010 Bom dia, O segredo do envio de emails em HTML para diferentes provedores de email é o formato da mensagem. As mensagens enviadas ficam integradas no meio da págida de seu email, ou seja, não podemos enviar um código HTML completo (contendo <html> e <head>) pois o códígo HTML completo contem tags que só podem ser definidas uma vez, e que por sua vez já foram definidas na página. Deste modo, devemos enviar a mensagem da seguinte forma: <? $Headers = 'MIME-Version: 1.0' . "\r\n"; $Headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $Headers .= 'From: ' . $Origem . "\r\n"; $Headers .= 'X-Mailer: Website ErgoSum.com.br - PHP/' . phpversion() . "\r\n"; $Corpo = '<div style="font-size: 12px; color: #090;"> ' . $Restante_do_HTML . ' </div>'; mail($Destino, $Titulo, $Corpo, $Headers); ?> Compartilhar este post Link para o post Compartilhar em outros sites
intao 0 Denunciar post Postado Abril 6, 2010 Primeiramente muito obrigado pela atenção Hidden,intão hidden esta acontecendo a mesma situação de antes,quando ensiro somente texto,consigo enviar com sucesso,mas quando ensiro qualquer codigo html o email simplismente não é enviado. Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Tiago de Moraes 0 Denunciar post Postado Abril 6, 2010 amigo tenta isso, você pediu ajuda no meu e-mail: <?php $para = "email_remetente@dominio.com"; $header = "MIME-Version: 1.0" . "\r\n"; $header .= "Content-type: text/html; charset=iso-8859-1" . "\r\n"; $header .= "From: email_remetente@dominio.com\n"; $header .= "Reply-to: email_destino@dominio.com\n"; $assunto = $_POST['assunto']; $mensagem = "<html> <body> <a href='#'> Este é meu <b>primeiro</b> email em formato HTML! </a><br /> ".htmlspecialchars_decode($_POST['corpo'])." </body> </html>"; if(@mail($para, $assunto, $mensagem, $header)){ echo "E-mail enviado com sucesso!<br />"; echo $mensagem; }else{ echo "Não foi possível enviar o e-mail!"; echo $mensagem; } ?> Falou, isso funciona corretamente, pq sempre uso, se continuar com problema, teste com outro servidor de e-mail. Compartilhar este post Link para o post Compartilhar em outros sites
Diego Macêdo 6 Denunciar post Postado Abril 6, 2010 Tente o código do Hidden, pois tem mais sentido. E realmente, se não funcionar, pode ser o seu servidor de hospedagem por ser FREE. Compartilhar este post Link para o post Compartilhar em outros sites
intao 0 Denunciar post Postado Abril 6, 2010 Obrigado HIDDEN pela ajuda,mas infelismente tambem quando ensiro qualquer codigo html(ao contrario de só texto)só chega a parte pré configurada(" <div style="font-size: 12px; color: #090;"> ' . $Restante_do_HTML . ' </div>").Obrigado tambem Lucas Tiago pela ajuda,mas infelismente tambem quando ensiro qualquer codigo html(ao contrario de só texto)só chega a parte pré configurada(" <a href='#'> Este é meu <b>primeiro</b> email em formato HTML! </a><br /></div>").Agradeço tambem Diego pelo interesse na solução,mas o pior é que testei na hospedagem free e tambem na minha paga e nada. Compartilhar este post Link para o post Compartilhar em outros sites