Ir para conteúdo

POWERED BY:

Arquivado

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

zangoliers

Envio de E-mail

Recommended Posts

Olá Pessoal, gostaria de tirar umas dúvidas sobre este script:

 

faleconosco.php :

 

<html>

<head>

<title>Fale conosco</title>

</head>

<body bgcolor="#C0E7FF">

 

<form method="post" name="contato" action="">

<table border="0" width="100%" cellspacing="0">

<font face="verdana" size="2">

Preencha os dados abaixo e em breve entraremos em contato.

<br><br>

</font>

<tr>

<td width="18%">

<font face="verdana" size="2">

Nome

</font>

</td>

<td>

<input type="text" name="nome" value="" size="51">

</td>

<td width="51">

</td>

</tr>

<tr>

<td width="18%">

<font face="verdana" size="2">

E-mail

</font>

</td>

<td>

<input type="text" name="e-mail" value="" size="51">

</td>

</tr>

<tr>

<td width="18%">

<font face="verdana" size="2">

Mensagem

</font>

</td>

<td>

<textarea name="conteudo" rows="7" cols="39"></textarea>

</td>

</tr>

<tr>

<td>

</td>

<td>

<br>

<input onmouseover=this.style.cursor="hand" type="submit" name="sub" value="Enviar!" style"border:0;height:18;width:50;background:#E8F3FD">

</td>

</tr>

</table>

</form>

 

<?php

$acao=$HTTP_POST_VARS['sub'];

$assunto=$HTTP_POST_VAR['nome'];

$e_mail=$HTTP_POST_VARS['e-mail'];

$conteudo=$HTTP_POST_VARS['conteudo'];

$destino='seuemail@provedor.com';

 

if ($acao == 'Enviar!')

{

$succes=mail($destino,$assunto,$conteudo,$e_mail);

}

 

?>

 

</body>

</html>

 

 

1 - Gostaria de saber se o script está correto

 

2- No fim do script tem a variavel $assunto, cujo conteudo é nome, eu to achando estranho, pois se é assunto ... Eu teria que criar mais um input com nome assunto ?

 

3 - Como saber se a mensagem foi enviada com sucesso ?

 

4 - Tenho que configurar algo no php.ini ?

 

5 - Poderiam me indicar um servidor SMTP para instalar na minha máquina para testar este script ?

 

6 - Se alguém tiver algum script pronto e funcionando corretamente, gostaria que postasem ele

 

7- O erro que me retorna ao clicar no botão enviar:

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\template\faleconosco.php on line 66

 

Estou usando o WAMP 1.7.3

 

Agradecido desde já pela atenção;

 

Zangoliers

Compartilhar este post


Link para o post
Compartilhar em outros sites

ôpa!

Tudo bom? http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Antes de mais nada, onde você está testando o script?

para que ele funcione é necessário que seja executado em um servidor externo e não localhost!

 

sou iniciante em PHP, e meio corrido não deu pra dar uma estudada melhor no seu código!

 

mas tenho um aqui que funciona certinho, segue abaixo o script:

 

<?

if($_POST)

{

$para = $_POST["para"];

$mensagem = $_POST["mensagem"];

$assunto = $_POST["assunto"];

if (mail($para,$assunto,$mensagem))

{

echo "mensagem Enviada Com Sucesso";

}

else

{

echo "erro no envio da mensagem";

}

}

?>



<form name="form1" method="post" action="">

  <table width="775" border="0" cellspacing="0">

	<tr>

	  <td>Para</td>

	  <td><input name="para" type="text" id="para" size="43"></td>

	  <td> </td>

	  <td> </td>

	</tr>

	<tr>

	  <td width="97">assunto</td>

	  <td width="305"><input name="assunto" type="text" id="assunto" size="43"></td>

	  <td width="180"> </td>

	  <td width="185"> </td>

	</tr>

	<tr>

	  <td>Mensagem</td>

	  <td><textarea name="mensagem" cols="40" rows="10" id="mensagem"></textarea></td>

	  <td> </td>

	  <td> </td>

	</tr>

	<tr>

	  <td> </td>

	  <td><input type="submit" name="Submit" value="enviar e-mail"></td>

	  <td> </td>

	  <td> </td>

	</tr>

  </table>

</form>

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gostaria de fazer um formulário que sejha enviado para 30 emails diferentes. Você tem algum script pronto?

 

ôpa!

Tudo bom? http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Antes de mais nada, onde você está testando o script?

para que ele funcione é necessário que seja executado em um servidor externo e não localhost!

 

sou iniciante em PHP, e meio corrido não deu pra dar uma estudada melhor no seu código!

 

mas tenho um aqui que funciona certinho, segue abaixo o script:

 

<?

if($_POST)

{

$para = $_POST["para"];

$mensagem = $_POST["mensagem"];

$assunto = $_POST["assunto"];

if (mail($para,$assunto,$mensagem))

{

echo "mensagem Enviada Com Sucesso";

}

else

{

echo "erro no envio da mensagem";

}

}

?>



<form name="form1" method="post" action="">

  <table width="775" border="0" cellspacing="0">

	<tr>

	  <td>Para</td>

	  <td><input name="para" type="text" id="para" size="43"></td>

	  <td> </td>

	  <td> </td>

	</tr>

	<tr>

	  <td width="97">assunto</td>

	  <td width="305"><input name="assunto" type="text" id="assunto" size="43"></td>

	  <td width="180"> </td>

	  <td width="185"> </td>

	</tr>

	<tr>

	  <td>Mensagem</td>

	  <td><textarea name="mensagem" cols="40" rows="10" id="mensagem"></textarea></td>

	  <td> </td>

	  <td> </td>

	</tr>

	<tr>

	  <td> </td>

	  <td><input type="submit" name="Submit" value="enviar e-mail"></td>

	  <td> </td>

	  <td> </td>

	</tr>

  </table>

</form>

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Camarada pablojvillar, pra 30 e-mails diferentes, basta você acrescentar na variavel $PARA os 30 e-mails,

só que ai eu tenho uma pequena dúvida, não sei se separados por (VÍRGULA) ou (PONTO VÍRGULA)

no caso ficaria algo +/- assim:

 

$para = "email1@email.com.br;email1@email.com.br;email1@email.com.br;email1@email.co

m.br";

 

Mas eu não tenho certeza do funcionamento, pois não sei se separa por virgula ou ponto virgula como disse a cima! o.o

 

Se alguém ae souber e quiser tirar nossas dúvidas :D

 

ahhh, finalizando...

 

$para = $_POST["para"];

 

A variável $para está recebendo os valore do campo rotulado [PARA] de um formulário, então nesse campo que você iria digitar os 30 e-mails separados ou por vírgula ou ponto vírgula!

 

ôh dúvida, alguém ae tira? :D

 

até camarada,

 

abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

separa com vírgula.

ponto e vírgula é para finalizar um comando.

exemplo:

se você bota

$para = "email1@email.com.br; email1@email.com.br; email1@email.com.br; email1@email.co

m.br";

você estará finalizado o "$para" em "email1@email.com.br;"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Pessoal !

Até consegui uma dica a mais, envio para mais de um e-mail!

 

Estou rodando localhost !

 

A e me restaram duas dúvidas:

 

1 - Onde coloco o campo do e-mail de quem está mandando ? No meu caso o De é E-mail (e-mail de quem está enviando), é só acrescentar $de=$_POST["de"]; e ajustar no código?

 

2- Tem algum programa servidor que eu possa instalar para testar localhost para enviar e receber?

 

Vou testar e posto a resposta aqui, ok ?

 

Obrigado pela atenção de todos;

 

Zangoliers

Compartilhar este post


Link para o post
Compartilhar em outros sites

Zangoliers, não tinha reparado na falta do remetente >.<

mas tenho um outro script aqui que envia remetende, e melhor ainda, é um com corpo HTML! 0/

 

ESSE SCRIPT É DO SITE OFICIAL DO PHP, SÓ COM ALGUMAS MODIFICAÇÕES, LEMBRO QUE FOI USADO EM UM EXERCICIO DO CURSO, BOM ESTÁ AI! :)

 

<?php

/* Destinatário */

$to  = "destinatario1@eu.com.br" . ", ";	   // Como disse a Isabelle, utiliza-se a vírgula para separar os e-mails

$to .= "destinatario2@hotmail.com"; 

$to .= "destinatario3@hotmail.com"; 

$to .= "destinatario4@hotmail.com"; 


/* assunto */

$subject = "ASSUNTO DO E-MAIL";



/* mensagem */

$message = '

<html>

<head>

 <title>TITULO</title>

</head>

<body>

CONTEÚDO DO E-MAIL AQUI

</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 */



/* Para enviar email HTML, você precisa definir o header Content-type. */

$headers  = "MIME-Version: 1.0\r\n";

$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";


/* headers adicionais */

$headers .= "To: DESTINATARIO1 <destinatario1@eu.com.br>, DESTINATARIO2 <destinatario2@eu.com.br>\r\n";

$headers .= "From: REMETENTE <remetente@seilaquem.com.br>\r\n";



/* Enviar o email */

mail($to, $subject, $message, $headers);

?>

 

ABRAÇO,

 

 

PS: ISABELLE, GRATO POR TIRAR A DÚVIDA 0/

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.