PHP - Envio de email - EXEMPLO SIMPLES

PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.

Moderadores: Administradores, Moderadores

PHP - Envio de email - EXEMPLO SIMPLES

Mensagempor scroll » Segunda Jun 25, 2007 11:55

Código: Seleccionar todos
<?php
//////////////////////////////////////////////////
//
//   Sample de Envio de Email
//   by portugalCODE
//   Coder: Rui Gomes
//
//   Sempre que utilizado pf manter os créditos.
//
//////////////////////////////////////////////////
$aviso='';
$srtemail = strlen ($_POST['email']);
$srtnome = strlen ($_POST['nome']);

if ($_POST['Submit']=='Enviar' && $srtemail >= 10 && $srtnome >= 5)
{
   // Email de destino (editar o que está entre "" para o email desejado
   $to = 'o_teu_email@dominio.com';
   
   // Passar os dados dos formulários para variáveis
   $name = $_POST['nome'];
   $email = $_POST['email'];
   $subject = $_POST['assunto'];
   $message = $_POST['duvida'];
   
   // Construção da mensagem a enviar por email com todos os dados recebidos
   $smessage = "Nome: ".$name."\nEmail: ".$email."\nOutro contacto: ".$other." - ".$type."\n\nMensagem: \n\n".$message."\r\n";
   
   // Construção do header do email
   $headers = "From: ".$email."\r\nReply-To: ".$email."\r\nReturn-Path: ".$email."\r\n";
   
   // Envio do email
   $mailsent = mail($to, $subject, $smessage, $headers);
         
   if($mailsent) // Se o email for enviado mostra uma mensagem de sucesso   
   {
      $aviso=$_POST['nome'].", a sua mensagem foi enviada com sucesso.<br>";
      $aviso.="Obrigado.";
   }
   else // Caso contrário mostra uma mensagem de insucesso
   {
      $aviso="Ocorreu um erro ao enviar a sua mensagem. Tente novamente!<br>";
   }

}
else if($_POST['Submit']=='Enviar' && !$srtemail && !$srtnome)
{
   $aviso="Dados incompletos! <br>";
}
else // Caso contrário mostra uma mensagem de insucesso
{
   $aviso="Por favor preencha os dados abaixo <br>";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Envio de Email via Browser</title>
<style type="text/css">
<!--
.style1 {
   font-family: Verdana, Arial, Helvetica, sans-serif;
   font-size: 9px;
   font-weight: bold;
}
.style2 {
   font-family: Verdana, Arial, Helvetica, sans-serif;
   font-size: 9px;
}
.style3 {color: #FF0000}
body {
   background-color: #CCCCCC;
   margin-left: 20px;
   margin-top: 20px;
}
-->
</style>
</head>

<body>
<form action="" method="POST" enctype="multipart/form-data" name="form1" id="form1">
<?php if($aviso) { ?>
<p class="style2 style3"><?php echo $aviso; ?></p>
<? } ?>
<table width="350" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="25">&nbsp;</td>
    <td height="25">&nbsp;</td>
  </tr>
  <tr>
    <td width="75" height="25"><div align="left"><span class="style1">Nome</span></div></td>
    <td width="275" height="25"><div align="left">
      <input name="nome" type="text" class="style2" size="48" />
    </div></td>
  </tr>
  <tr>
    <td height="25"><div align="left"><span class="style1">E-Mail</span>&nbsp;</div></td>
    <td height="25"><div align="left">
      <input name="email" type="text" class="style2" size="48" />
    </div></td>
  </tr>
  <tr>
    <td height="25"><div align="left"><span class="style1">Assunto</span></div></td>
    <td height="25"><div align="left">
      <input name="assunto" type="text" class="style2" size="48" />
    </div></td>
  </tr>
  <tr style="line-height: 3px;">
    <td colspan="2" valign="top">&nbsp;</td>
    </tr>
  <tr>
    <td valign="top"><div align="left"><span class="style1">Ficheiro</span></div></td>
    <td><div align="left">
      <textarea name="duvida" cols="45" rows="9" class="style2"></textarea>
    </div></td>
  </tr>
  <tr>
    <td height="25">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td height="25">&nbsp;</td>
    <td>
    
       <div align="left">
         <input name="Submit" type="submit" class="style2" value="Enviar">
         &nbsp;
         <input name="B2" type="reset" class="style2" value="Repor">   
      </div></td>
  </tr> 
</table>
</form>

</body>
</html>


abraço,
Rui Gomes
Editado pela última vez por scroll em Segunda Jun 25, 2007 13:38, num total de 1 vez.
Imagem
Imagem
scroll
Aprendiz
Aprendiz
 
Mensagens: 50
Registado: Sexta Mai 11, 2007 9:55

Mensagempor CoolMaster » Segunda Jun 25, 2007 13:25

Porque é que obrigas a que o email tenha mais de 9 caracteres e o nome mais de 4?

Não faz muito sentido.
Para veres se tem algo preenchido aconselho a usares a função empty().
E já agora se quiseres alguma verificação de email válido podes usar
esta função que fiz

Código: Seleccionar todos
function isValidEmail ($email) {
        return eregi("^[a-zA-Z0-9]+[a-zA-Z0-9_\.-]*@[a-zA-Z0-9\-]+(\.[a-z]{2,4})+$", $email);
}


Acho que valida todos os emails, mas pode existir alguma regra que me tenha falhado.
CoolMaster
Membro de Prata
Membro de Prata
 
Mensagens: 137
Registado: Segunda Dez 25, 2006 0:54
Localização: Porto

Mensagempor scroll » Segunda Jun 25, 2007 13:38

CoolMaster Escreveu:Porque é que obrigas a que o email tenha mais de 9 caracteres e o nome mais de 4?

Não faz muito sentido.
Para veres se tem algo preenchido aconselho a usares a função empty().
E já agora se quiseres alguma verificação de email válido podes usar
esta função que fiz

Código: Seleccionar todos
function isValidEmail ($email) {
        return eregi("^[a-zA-Z0-9]+[a-zA-Z0-9_\.-]*@[a-zA-Z0-9\-]+(\.[a-z]{2,4})+$", $email);
}


Acho que valida todos os emails, mas pode existir alguma regra que me tenha falhado.


tens razão, mas tal como diz o titulo - EXEMPLO, a ideia é só essa a seguir é só adaptar ao pretendido.

possivelmente até:
Código: Seleccionar todos
   if(eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email))
{
  ....
}

chega.


abraço,

ps - podemos 'inserir a tua rotina' tb, no prob.
Imagem
Imagem
scroll
Aprendiz
Aprendiz
 
Mensagens: 50
Registado: Sexta Mai 11, 2007 9:55

Mensagempor Marco Túlio » Segunda Jul 23, 2007 14:48

Pessoal..
Sou novato nesse fórum e comecei a desenvolver meu WEBSITE.

Quero saber como faço para enviar e-mail através do me site , mas não possuo um domínio ainda...

Posso utilizar o email do gmail para isto?
v8
Marco Túlio
Novato
Novato
 
Mensagens: 3
Registado: Segunda Jul 23, 2007 14:29

Mensagempor JoaoRosa » Segunda Jul 23, 2007 18:12

para enviares o e-mail, apenas o servidor tem de sopurtar o php!

cps
Portátil: LG LW65-P4XP c/ upgrade: Seagate Momentus 7200.1 (2.5" IDE 7200rpm 80Gb) & 2x1GB Kingston PC 4200 533 MHz DDR2
Disco Externo: Caixa Point of View Hdd Enclosure 2.5" & Disco Fujitsu MHV2080AT (2.5" IDE 4200rpm 80Gb)
Avatar do Utilizador
JoaoRosa
Membro de Prata
Membro de Prata
 
Mensagens: 439
Registado: Quinta Nov 03, 2005 21:38
Localização: Oliveira de Azeméis

Mensagempor Marco Túlio » Segunda Jul 23, 2007 20:19

Mais como eu saberei se o servidor suporta php ?
v8
Marco Túlio
Novato
Novato
 
Mensagens: 3
Registado: Segunda Jul 23, 2007 14:29

Mensagempor siklas » Terça Jul 24, 2007 12:19

E para enviar emails em massa não há nada?
siklas
Membro Diamante
Membro Diamante
 
Mensagens: 1044
Registado: Sábado Dez 17, 2005 21:51
Localização: Cuscos

Mensagempor Marco Túlio » Terça Jul 24, 2007 14:14

Não entendi....
Por favor pessoal....
é urgente..
Preciso saber se consigo enviar email através de um formulário utilizando o endereço localhost no action, pois o WEBSITE ainda não está no ar e sim local.
tem como ?
v8
Marco Túlio
Novato
Novato
 
Mensagens: 3
Registado: Segunda Jul 23, 2007 14:29

Mensagempor SkylineGTR » Terça Jul 24, 2007 14:56

Marco Túlio Escreveu:Não entendi....
Por favor pessoal....
é urgente..
Preciso saber se consigo enviar email através de um formulário utilizando o endereço localhost no action, pois o WEBSITE ainda não está no ar e sim local.
tem como ?


Para enviares email localmente podes por usar o endereço SMTP do teu ISP. Por exemplo, em minha casa o ISP é a Netcabo e uso o endereço SMTP smtp.netcabo.pt
É uma questão de veres isso no teu ISP...
i7 920 | ASUS P6T Deluxe V2 | 6GB Corsair Dominator PC3-12800 | BFG GTX285 OC2 | 2x WD 640GB + WD 750GB + Seagate 750GB + Samsung F1 1TB | Corsair HX-620 | HP w2207 | Lian Li PC-V1110B
SkylineGTR
Membro Vitalício
Membro Vitalício
 
Mensagens: 4184
Registado: Terça Dez 28, 2004 22:26


Voltar para Programação

Quem está ligado:

Utilizadores a ver este Fórum: Nenhum utilizador registado e 4 visitantes

cron