macc box 0 Denunciar post Postado Novembro 29, 2006 Alguem tem ideia de como eu posso enviar um email por PHP usando como papel de carta HTML??Peguei este codigo que esta referenciando a uma variavel do campo de texto mas ele não converte em HTML. Alguem tem alguma sugestão??$text = str_replace("<--unsub-->", "<--unsub-->", $text);$messagetext = stripslashes($messagetext);print nl2br(htmlspecialchars($messagetext));Abraços! Compartilhar este post Link para o post Compartilhar em outros sites
macc box 0 Denunciar post Postado Novembro 29, 2006 Estou utilizando o mymail e preciso criar um "enviador" de informativos. O script que esta preparado para enviar apenas emite emails como formato texto e eu preciso que ele envie para mim em formato HTML. tem um campo texto onde incluo o script do HTML para enviar mas como o script do PHP não interpreta acredito que pode estar faltando alguma biblioteca para o mesmo converter em pagina da net. Tipo eu vou colocar no campo do texto o codigo fonte do HTML e quando eu enviar ele vai transformar o cod do HTML em HTML. Eu sei q funciona no PHPLIST, mas ja procurei ver se encontrava alguma coisa e não encontrei.Vou postar o codigo completo do SEND.PHP que faz o envio das mensagens://Codigo do SEND.PHP<?phpinclude("config.php");include("files/header.php");if(!isset($listID)) {getID();} else {//if(!isset($id_grupo)) {//getID();//} else {if($action == "fill") {$do_get = mysql_query("SELECT * FROM lists WHERE ID=$listID");//$do_get = mysql_query("SELECT * FROM lists WHERE id_grupo=$id_grupo");if(!$do_get) {errorMsg("Banco de Dados.");} else {$done = mysql_fetch_array($do_get);$listEmail = $done["listEmail"];$archive = $done["archive"];?><p><font size="2" face="Verdana">ENVIO DE EMAIL</font></p><form method="post" action="send.php?action=preview"> <table width="500" border="0" cellspacing="0" cellpadding="3"> <tr> <td width="107"><font size="2" face="Verdana">Do EMail: </font></td> <td width="130"> <font size="2" face="Verdana"> <input type="text" name="fromemail" value="<?php echo $listEmail; ?>"> </font></td> <td width="107"><font size="2" face="Verdana">Assunto:</font></td> <td width="132"> <font size="2" face="Verdana"> <input type="text" name="subject"> </font></td> </tr> <tr> <td width="107"><font size="2" face="Verdana">Remetente: </font></td> <td width="130"> <font size="2" face="Verdana"> <input type="text" name="fromname"> </font></td> <td width="107"><font size="2" face="Verdana">ID Envio:</font></td> <td width="132"> <font size="2" face="Verdana"> <input type="text" name="issueID" size="5" value="<?php if ($archive == "0") { print "N/A"; } ?>"> </font></td> </tr> <tr> <td width="107"><font size="2" face="Verdana">Incluir Cabeçalho:</font></td> <td width="130"> <font size="2" face="Verdana"> <select name="header"> <option value="1">Sim</option> <option value="0">Não</option> </select> </font></td> <td width="107"><font size="2" face="Verdana">Incluir Rodapé:</font></td> <td width="132"> <font size="2" face="Verdana"> <select name="footer"> <option value="1">Sim</option> <option value="0">Não</option> </select> </font></td> </tr> <tr> <td colspan="4"><font size="2" face="Verdana">Mensagem:</font></td> </tr> <tr> <td colspan="4"> <textarea name="messagetext" cols="60" rows="15" wrap="PHYSICAL"></textarea> </td> </tr> <tr> <td width="107"><font size="2" face="Verdana">Messages Sent Before wait:</font></td> <td width="130"> <select name="wait"> <option value="10" selected>10</option> <option value="50">50</option> <option value="100">100</option> <option value="200">200</option> <option value="300">300</option> <option value="500">500</option> <option value="1000">1000</option> <option value="10000000">All</option> </select> </td> <td width="107"> <input type="submit" name="Submit" value="Preview "> <input type="hidden" name="listID" value="<?php echo $listID; ?>"> </td> <td width="132"> </td> </tr> </table></form><?php} #END IF CANNOT DO_GET} elseif($action == "preview") {$do_get = mysql_query("SELECT * FROM lists WHERE ID=$listID");//$do_get = mysql_query("SELECT * FROM lists WHERE id_grupo=$id_grupo");if(!$do_get) {errorMsg("Cannot query the database at the current time.");} else {$done = mysql_fetch_array($do_get);$archive = $done["archive"];$listHeader = $done["listHeader"];$listFooter = $done["listFooter"];$listHeader = stripslashes($listHeader);$listFooter = stripslashes($listFooter);$subject = stripslashes($subject);$fromname = stripslashes($fromname);/*$headers = stripslashes($headers);$subject = "MIME-Version: 1.0\n"; $subject .= "Content-type: text/html; charset=iso-8859-1\n"; $subject .= "X-Priority: 3\n"; $subject .= "X-MSMail-Priority: Normal\n"; $subject .= "X-Mailer: php\n"; $subject .= "Return-Path: informativo@maccaferri.com.br\n"; $subject .= "From: informativo@maccaferri.com.br";*/?><p><b><font size="2" face="Verdana">Preview:</font></b> </p><p><font size="2" face="Verdana">From Email: <?php echo $fromemail; ?><br> From Name: <?php echo $fromname; ?><br> Use Header: <?php print ($header == "0") ? "No" : "Yes"; ?><br> User Footer: <?php print ($footer == "0") ? "No" : "Yes"; ?><br> Use Archive: <?php if($archive == "0") { print "No"; } else { print "Yes"; } ?><br> Issue ID: <?php if($archive == "0" ) { print "N/A"; } else { print $issueID; } ?><br> Subject: <?php echo $subject; ?></font></p><hr noshade align="left" width="90%" size="1"><p><?php/*if($header == "1") {print nl2br($listHeader);} #END IF HEADER = 1*/$text = str_replace("<--unsub-->", "<--unsub-->", $text);$messagetext = stripslashes($messagetext);print nl2br(htmlspecialchars($messagetext));/*if($footer == "1") {print nl2br($listFooter);} #END IF FOOTER = 1 */?></p><hr noshade align="left" width="90%" size="1"><form method="post" action="send.php?action=send"><?php$fromname = addslashes($fromname);$subject = addslashes($subject);$messagetext = str_replace("\"", "%quotes%", $messagetext);$subject = str_replace("\"", "%quotes%", $subject);$fromname = str_replace("\"", "%quotes%", $fromname);?> <input type="hidden" name="fromemail" value="<?php echo $fromemail; ?>"> <input type="hidden" name="fromname" value="<?php echo $fromname; ?>"> <input type="hidden" name="header" value="<?php echo $header; ?>"> <input type="hidden" name="footer" value="<?php echo $footer; ?>"> <input type="hidden" name="issueID" value="<?php echo $issueID; ?>"> <input type="hidden" name="listID" value="<?php echo $listID; ?>"> <input type="hidden" name="subject" value="<?php echo $subject; ?>"><input type="hidden" name="wait" value="<?php echo $wait; ?>"> <input type="submit" name="Submit" value="Submit"><input type="hidden" name="messagetext" value="<?php echo $messagetext ?>"> </form><p> </p><?php } #END IF CANNOT DO_GET} elseif($action == "send") {$query = mysql_query("SELECT * FROM emails WHERE listID=$listID and validated='1'");if(!$query) {errorMsg("Sem emails Validos para esta lista");print mysql_error();} else {$do_get = mysql_query("SELECT * FROM lists WHERE ID=$listID");if(!$do_get) {errorMsg("Cannot query the database at the current time.");} else {$done = mysql_fetch_array($do_get);$listEmail = $done["listEmail"];$archive = $done["archive"];$listHeader = $done["listHeader"];$listFooter = $done["listFooter"];$listHeader = stripslashes($listHeader);$listFooter = stripslashes($listFooter);if($header == "1") {$text = $listHeader;}$text .= $messagetext;if($footer == "1") {$text .= $listFooter;}$text = str_replace("\r\n", "\n", $text);$text = stripslashes($text);$subject = stripslashes($subject);$fromname = stripslashes($fromname);$text = str_replace("%quotes%", "\"", $text);$subject = str_replace("%quotes%", "\"", $subject);$fromname = str_replace("%quotes%", "\"", $fromname);$subject = stripslashes($subject);$fromname = stripslashes($fromname);$text = stripslashes($text);$headers = "From: \"$fromname\" <$fromemail>\n" . "Return-Path: $fromemail\n";$x = 1;while ($do = mysql_fetch_array($query)) {$address = $do["email"];$texts = str_replace("<--unsub-->", $path . "/entry.php?action=add&listID=" . $listID ."&email=" . $address . "&what=unsub", $text);$mail_send = mail($address,$subject,$texts,$headers);if(!$mail_send) {errorMsg("Não enviado para o endereço: $address.");}$x++;if($x == $wait) {sleep(3); $x = 0;} }if($mail_send) {msg("Enviado com Sucesso");} else {msg("Erro Ao Enviar");}if($archive == "1") {$text = nl2br($text);$text = addslashes($text);if($issueID == "") {$query = mysql_query("SELECT issueID FROM archive WHERE listID='$listID' ORDER by issueID DESC LIMIT 1");if(!$query) {errorMsg("Cannot query archive table.");print mysql_error();} else {$query = mysql_fetch_array($query);$issueID = $query[0] + 1;} #END GET LATEST$text = addslashes($text);$insert = mysql_query("INSERT INTO archive SET " ."listID='$listID', " ."issueID='$issueID', " ."date=CURDATE(), " ."text='$text'");} else {$text = addslashes($text);$insert = mysql_query("INSERT INTO archive SET " ."listID='$listID', " ."issueID='$issueID', " ."date=CURDATE(), " ."text='$text'");}if(!$insert) {errorMsg("Impossivel Arquivar Menssagem!");print mysql_error();} else {msg("Arquivada Menssagem.");} #END INSERTif($mail_send) {msg("Enviado Com sucesso!");} #END MAIL SENT} #END IF ARCHIVE =1} #END QUERY} #END IF CANNOT QUERY} #END IF ACTION == ""} #END ISSET IDinclude("files/footer.php");?> Compartilhar este post Link para o post Compartilhar em outros sites
macc box 0 Denunciar post Postado Novembro 29, 2006 Cara, o que você quer fazer realmente?Essa linha não faz o menor sentido: $text = str_replace("<--unsub-->", "<--unsub-->", $text); Dei mais uma verificada e encontrei sobre que eu estou procurando. esta linha é para incluir o Cabeçalho e Rodapé.eu achei parte do que eu precisava, mas o local onde jogar o codigo é a questão, como ele tem 2 ações uma de preview e outra de send, não estou encontrando o local onde jogar esta biblioteca. $headers .= "MIME-Version: 1.0\n";$headers .= "Content-Type: text/html; charset=iso-8859-1\n";Links onde eu encontrei:http://www.guiadohardware.net/comunidade/p...79/#post2415886http://www.guiadohardware.net/comunidade/email-html/333458/Se alguem souber como solucionar, Agradeço!Obrigado! Abraços! Compartilhar este post Link para o post Compartilhar em outros sites
macc box 0 Denunciar post Postado Novembro 29, 2006 Achei o local correto para incluir o codigo.Vou deixar o Script, se alguem tiver algum problema e não conseguir solucionar é só copiar, o script ja esta em portugues os labels, Qualquer problema retorno a postar! Obrigado a todos pela ajuda!//SEND.PHP (FINALMENTE)<?phpinclude("config.php");include("files/header.php");if(!isset($listID)) {getID();} else {if($action == "fill") {$do_get = mysql_query("SELECT * FROM lists WHERE ID=$listID");if(!$do_get) {errorMsg("Cannot query the database at the current time.");} else {$done = mysql_fetch_array($do_get);$listEmail = $done["listEmail"];$archive = $done["archive"];?><p><font size="2" face="Verdana">Envio de Email </font></p><form method="post" action="send.php?action=preview"> <table width="500" border="0" cellspacing="0" cellpadding="3"> <tr> <td width="107"><font size="2" face="Verdana">Remetente: </font></td> <td width="130"> <font size="2" face="Verdana"> <input type="text" name="fromemail" value="<?php echo $listEmail; ?>"> </font></td> <td width="107"><font size="2" face="Verdana">Assunto:</font></td> <td width="132"> <font size="2" face="Verdana"> <input type="text" name="subject"> </font></td> </tr> <tr> <td width="107"> <font size="2" face="Verdana">Nome Remetente: </font></td> <td width="130"> <font size="2" face="Verdana"> <input type="text" name="fromname"> </font></td> <td width="107"><font size="2" face="Verdana">Resp. ID: </font></td> <td width="132"> <font size="2" face="Verdana"> <input type="text" name="issueID" size="5" value="<?php if ($archive == "0") { print "N/A"; } ?>"> </font></td> </tr> <tr> <td width="107"><font size="2" face="Verdana">Incluir Cabeçalhos: </font></td> <td width="130"> <font size="2" face="Verdana"> <select name="header"> <option value="1">Sim</option> <option value="0">Não</option> </select> </font></td> <td width="107"><font size="2" face="Verdana">Incluir Rodapé: </font></td> <td width="132"> <font size="2" face="Verdana"> <select name="footer"> <option value="1">Sim</option> <option value="0">Não</option> </select> </font></td> </tr> <tr> <td colspan="4"><font size="2" face="Verdana">Mensagem:</font></td> </tr> <tr> <td colspan="4"> <textarea name="messagetext" cols="60" rows="15" wrap="PHYSICAL"></textarea> </td> </tr> <tr> <td width="107"><font size="2" face="Verdana">Aguardar:</font></td> <td width="130"> <select name="wait"> <option value="10" selected>10</option> <option value="50">50</option> <option value="100">100</option> <option value="200">200</option> <option value="300">300</option> <option value="500">500</option> <option value="1000">1000</option> <option value="10000000">All</option> </select> </td> <td width="107"> <input type="submit" name="Submit" value="Pre-Visualizar"> <input type="hidden" name="listID" value="<?php echo $listID; ?>"> </td> <td width="132"> </td> </tr> </table></form><?php} #END IF CANNOT DO_GET} elseif($action == "preview") {$do_get = mysql_query("SELECT * FROM lists WHERE ID=$listID");if(!$do_get) {errorMsg("Banco de Dados.");} else {$done = mysql_fetch_array($do_get);$archive = $done["archive"];$listHeader = $done["listHeader"];$listFooter = $done["listFooter"];$listHeader = stripslashes($listHeader);$listFooter = stripslashes($listFooter);$subject = stripslashes($subject);$fromname = stripslashes($fromname);?><p><b><font size="2" face="Verdana">Pré-Visualizando:</font></b> </p><p><font size="2" face="Verdana">Remetente: <?php echo $fromemail; ?><br> Nome: <?php echo $fromname; ?><br> Usando Cabeçalho: <?php print ($header == "0") ? "No" : "Yes"; ?><br> Usando Rodapé: <?php print ($footer == "0") ? "No" : "Yes"; ?><br> Arquivo Anexo: <?php if($archive == "0") { print "No"; } else { print "Yes"; } ?><br> ID Usuário: <?php if($archive == "0" ) { print "N/A"; } else { print $issueID; } ?><br> Assunto: <?php echo $subject; ?></font></p><hr noshade align="left" width="90%" size="1"><p><?phpif($header == "1") {print nl2br($listHeader);} #END IF HEADER = 1$headers = "MIME-Version: 1.0\r\n". "Content-type: text/html; charset=iso-8859-1\r\n";$text = str_replace("<--unsub-->", "<--unsub-->", $text);$messagetext = stripslashes($messagetext);print nl2br(htmlspecialchars($messagetext));if($footer == "1") {print nl2br($listFooter);} #END IF FOOTER = 1 ?></p><hr noshade align="left" width="90%" size="1"><form method="post" action="send.php?action=send"><?php$fromname = addslashes($fromname);$subject = addslashes($subject);$messagetext = str_replace("\"", "%quotes%", $messagetext);$subject = str_replace("\"", "%quotes%", $subject);$fromname = str_replace("\"", "%quotes%", $fromname);?> <input type="hidden" name="fromemail" value="<?php echo $fromemail; ?>"> <input type="hidden" name="fromname" value="<?php echo $fromname; ?>"> <input type="hidden" name="header" value="<?php echo $header; ?>"> <input type="hidden" name="footer" value="<?php echo $footer; ?>"> <input type="hidden" name="issueID" value="<?php echo $issueID; ?>"> <input type="hidden" name="listID" value="<?php echo $listID; ?>"> <input type="hidden" name="subject" value="<?php echo $subject; ?>"><input type="hidden" name="wait" value="<?php echo $wait; ?>"> <input type="submit" name="Submit" value="Enviar!"><input type="hidden" name="messagetext" value="<?php echo $messagetext ?>"> </form><p> </p><?php } #END IF CANNOT DO_GET} elseif($action == "send") {$query = mysql_query("SELECT * FROM emails WHERE listID=$listID and validated='1'");if(!$query) {errorMsg("Cannot get emails.");print mysql_error();} else {$do_get = mysql_query("SELECT * FROM lists WHERE ID=$listID");if(!$do_get) {errorMsg("Banco de Dados.");} else {$done = mysql_fetch_array($do_get);$listEmail = $done["listEmail"];$archive = $done["archive"];$listHeader = $done["listHeader"];$listFooter = $done["listFooter"];$listHeader = stripslashes($listHeader);$listFooter = stripslashes($listFooter);if($header == "1") {$text = $listHeader;}$text .= $messagetext;if($footer == "1") {$text .= $listFooter;}$text = str_replace("\r\n", "\n", $text);$text = stripslashes($text);$subject = stripslashes($subject);$fromname = stripslashes($fromname);$text = str_replace("%quotes%", "\"", $text);$subject = str_replace("%quotes%", "\"", $subject);$fromname = str_replace("%quotes%", "\"", $fromname);$subject = stripslashes($subject);$fromname = stripslashes($fromname);$text = stripslashes($text);$headers = "MIME-Version: 1.0\r\n". "Content-type: text/html; charset=iso-8859-1\r\n". "From: \"$fromname\" <$fromemail>\n" . "Return-Path: $fromemail\n";$x = 1;while ($do = mysql_fetch_array($query)) {$address = $do["email"];$texts = str_replace("<--unsub-->", $path . "/entry.php?action=add&listID=" . $listID ."&email=" . $address . "&what=unsub", $text);$mail_send = mail($address,$subject,$texts,$headers);if(!$mail_send) {errorMsg("Falha ao enviar no endereço: $address.");}$x++;if($x == $wait) {sleep(3); $x = 0;} }if($mail_send) {msg("Email enviado.");} else {msg("Email não enviado.");}if($archive == "1") {$text = nl2br($text);$text = addslashes($text);if($issueID == "") {$query = mysql_query("SELECT issueID FROM archive WHERE listID='$listID' ORDER by issueID DESC LIMIT 1");if(!$query) {errorMsg("Banco de dados de arquivos.");print mysql_error();} else {$query = mysql_fetch_array($query);$issueID = $query[0] + 1;} #END GET LATEST$text = addslashes($text);$insert = mysql_query("INSERT INTO archive SET " ."listID='$listID', " ."issueID='$issueID', " ."date=CURDATE(), " ."text='$text'");} else {$text = addslashes($text);$insert = mysql_query("INSERT INTO archive SET " ."listID='$listID', " ."issueID='$issueID', " ."date=CURDATE(), " ."text='$text'");}if(!$insert) {errorMsg("Impossivel atachar menssagem");print mysql_error();} else {msg("Atachado com sucesso.");} #END INSERTif($mail_send) {msg("Email enviado com sucesso!");} #END MAIL SENT} #END IF ARCHIVE =1} #END QUERY} #END IF CANNOT QUERY} #END IF ACTION == ""} #END ISSET IDinclude("files/footer.php");?>Abraços! Compartilhar este post Link para o post Compartilhar em outros sites