Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

macc box

Comando SEND em PHP

Recommended Posts

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.