Ir para conteúdo

POWERED BY:

Arquivado

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

Fabiano Diniz Costa

[Resolvido] PHPMailer

Recommended Posts

Pessoal, bom dia!

Estou quebrando a cabeça a 2 dias tentando criar um sisteminha para buscar os e-mails em uma lista externa.

Ex:

<?php

require("./class.phpmailer.php");

 

$mail = new PHPMailer();

$mail->From = $_POST['email'];

$mail->FromName = $_POST['nome'];

$mail->Host = "mail.provedor.com.br";

$mail->Mailer = "smtp";

$mail->IsHTML(true);

$mail->AddAddress($_POST['para'],$_POST['nomepara']);

$mail->Subject = $_POST['assunto'];

$mail->Body = $_POST['msg'];

$mail->AddAttachment($_POST['arquivo']);

$mail->SMTPAuth = "true";

$mail->Username = "fulano@provedor.com.br";

$mail->Password = "senhaprovedor";

 

if(!$mail->Send())

{

echo "Não foi possível enviar sua mensagem!!!";

exit;

}

echo "Sucesso";

?>

 

 

 

No sistema acima, esta funcionando perfeitamente e eu consigo buscar o e-mail nos campos:

 

 

 

Nome para quem vai:

<label>

<input type="text" name="nomepara" />

</label>

<br />

Para quem vai:

<label>

<input type="text" name="para" />

</label>

<br />

 

 

Na linha vermelha, preciso fazer com que ele busque em uma lista que eu tenho (Arquivo .TXT separado por ; "ponto e virgula").

No caso, a linha de inserção seria:

 

<input type="file" size="39" name="arquivo">

 

Onde eu buscaria uma lista em TXT e enviaria no POST.

 

Alguém saberia como devo fazer isto?

 

Desde já, muito obrigado a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente, bem-vindo ao iMasters! :D

 

Você pode usar file_get_contents() para colocar o conteúdo do arquivo numa string. Depois use explode() para separar essa string pelo ponto-e-vírgula. Após isso, basta percorrer o array resultante, chamando AddAddress() a cada repetição. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente, bem-vindo ao iMasters! :D

 

Você pode usar file_get_contents() para colocar o conteúdo do arquivo numa string. Depois use explode() para separar essa string pelo ponto-e-vírgula. Após isso, basta percorrer o array resultante, chamando AddAddress() a cada repetição. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Beraldo, desde já, muito obrigado por estar ajudando!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Será que tem como me dar um ex. disto? Comecei no PHP tem poucos dias, e estou apanhando muito (ainda chego lá) http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

 

Obrigado viu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja um exemplo simples:

$string = "Beraldo;iMasters;PHP;Fórum;Programação";
$array = explode(";", $string);

foreach ($array as $valor)
{
	echo $valor . "<br />";
}

Ao usar file_get_contents(), voc6e obterá uma string semelhante à $string. Depois é só chamar AddAddress() dentro do foreach, no lugar onde coloquei o comando echo.

 

Mais informações:

http://www.php.net/foreach

http://www.php.net/file_get_contents

http://www.php.net/explode

Compartilhar este post


Link para o post
Compartilhar em outros sites

Grande Beraldo... deu certinho para pegar os dados, mas agora surgiu um (pequeno) problema.

Sabe me dizer como eu faço para que a linha de comando:

$mail->AddAddress($_POST['para'],$_POST['nomepara']);

aceite vários destinatários?

Tentei fazer isto manualmente, colocando ; entre os mesmo... não aceitou... tentei usar apenas , também não aceita.

 

Desde já.. muito obrigado por tudo!

 

Fabiano

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode chamar AddDrress() várias vezes:

 

$PHPMailer->AddAddress('email1@site.com');
$PHPMailer->AddAddress('emai2@site.com');
$PHPMailer->AddAddress('email3@site.com');
//...

 

Isso também vale para AddCC() e AddBCC(). http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.