How do I send an email? [closed]

-2

I'm using this code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
if($_POST)
{
require("phpmailer/class.phpmailer.php"); //Importa a class php mailer
$phpmail = new PHPMailer(); // faz uma instância da classe PHPMailer
$erros = "";

if(empty($_POST['nome'])){
 $erros .= "O nome deve ser preenchido.";
}

if(empty($_POST['email']) ){
  $erros .= "O E-mail deve ser preenchido.";
}else{
  $email = $_POST['email'];
  eregi("([\._0-9A-Za-z-]+)@([0-9A-Za-z-]+)(\.[0-9A-Za-z\.]+)",$email,$match);
if(!isset($match)){
   $erros .= "O e-mail informado é inválido.";
}
}

if(empty($_POST['assunto'])){
$erros .= "A assunto deve ser preenchido.";
}
if(empty($_POST['mensagem'])){
$erros .= "A mensagem deve ser preenchida.";
}

if( empty($erros) ){
$phpmail->IsSMTP(); // Define que a mensagem será SMTP
$phpmail->Host = "msa-shared.infolink.com.br"; // Endereço do servidor SMTP, não altere esse campo.
$phpmail->SMTPAuth = true; // ativando a autenticação SMTP (obrigatório, não alterar)
$phpmail->Username = '[email protected]'; // usuário de smtp Usuário do servidor SMTP (endereço de email), altere para suas informações.
$phpmail->Password = 'senhadoemaildomeusite'; // Senha do servidor SMTP (senha do email usado), altere para suas informações
$phpmail->Port = 587; //Porta de envio de SMTP (obrigatório, não alterar)
$phpmail->From = "[email protected]"; //Utilize o mesmo usuário do campo username, altere para suas informações
$phpmail->FromName = "[email protected]"; //tem que ser o mesmo usuário do campo username, altere para suas informações


$phpmail->AddAddress('[email protected]', 'Nome do Destinatário'); //E-mail que irá receber a mensagem
$phpmail->AddCC('[email protected]', 'Copia');  //E-mail que irá receber a cópia da mensagem
$phpmail->AddBCC('[email protected]', 'Copia Oculta'); //E-mail que irá receber a cópia oculta da mensagem

$phpmail->IsHTML(true); // Define que o e-mail será enviado como HTML
$phpmail->CharSet = 'UTF-8'; // Charset da mensagem


$phpmail->Subject  = "Formulário de Contato"; // Assunto da mensagem
$phpmail->Body .= "\r\n Nome: ".$_POST['nome'].""; // Texto da mensagem
$phpmail->Body .= "\r\n E-mail: ".$_POST['email'].""; // Texto da mensagem
$phpmail->Body .= "\r\n Telefone: ".$_POST['telefone'].""; // Texto da mensagem
$phpmail->Body .= "\r\n Assunto: ".$_POST['assunto'].""; // Texto da mensagem
$phpmail->Body .= "\r\n Mensagem: ".nl2br($_POST['mensagem']).""; // Texto da mensagem

//Envio da Mensagem
$enviado = $phpmail->Send();

//Limpa os destinatários
$phpmail->ClearAllRecipients();
$phpmail->ClearAttachments();

//Exibe uma mensagem de resultado
if ($enviado) {
echo "E-mail enviado com sucesso!";
} else {
echo "Não foi possível enviar o e-mail." . $mail->ErrorInfo;
}
} else {
echo $erros;
}
}
?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formulário de Contato</title>
<style type="text/css">
#contato {
font-family: verdana, tahoma, sans-serif;
}

#contato input, #contato textarea {
font-family: verdana, tahoma, sans-serif;
padding: 6px;
width: 200px;
}
</style>
</head>

<body>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" id="contato">
<fieldset>
<legend>Formulário de Contato</legend>

   <label>Seu nome:</label><br />
<input name="nome" type="text" value="<?php echo $nome ?>" /><br /><br />

<label>Seu email:</label><br />
<input name="email" type="text" value="<?php echo $email ?>" /><br /><br />

<label>Assunto:</label><br />
<input name="assunto" type="text"  value="<?php echo $assunto ?>" /><br /><br />

<label>Mensagem:</label><br />
<textarea name="mensagem" rows="10"  value="<?php echo $mensagem ?>"></textarea><br /><br />

<input name="submit" type="submit" value="Enviar" style="width: auto;" />
</fieldset>
</form>
</body>
</html>

This PHPMailer: PHPMailer

I just replace the fields that need to be replaced, however, when submitting, nothing happens, nor an error message. The page is blank. Why?

Note: I'm trying to send from localhost.

    
asked by anonymous 25.01.2016 / 02:32

1 answer

1
  

What is PHPMailer?
  PHPMailer is a class ready to send e-mails through PHP via SMTP connection widely used all over the world. Your submission method is widely recommended and superior compared to sending mail (), standard PHP function.

     

First : Download PHPMailer. > link   Create a folder called phpmailer in your hosting area.   Then locate the class.phpmailer.php file and send it to the phpmailer folder you created earlier.   Create a file with the extension .php with the name of your preference (eg form.php) and paste the code below:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
if($_POST)
{
require("phpmailer/class.phpmailer.php"); //Importa a class php mailer
$phpmail = new PHPMailer(); // faz uma instância da classe PHPMailer
$erros = "";

if(empty($_POST['nome'])){
 $erros .= "O nome deve ser preenchido.";
}

if(empty($_POST['email']) ){
  $erros .= "O E-mail deve ser preenchido.";
}else{
  $email = $_POST['email'];
  eregi("([\._0-9A-Za-z-]+)@([0-9A-Za-z-]+)(\.[0-9A-Za-z\.]+)",$email,$match);
if(!isset($match)){
   $erros .= "O e-mail informado é inválido.";
}
}

if(empty($_POST['assunto'])){
$erros .= "A assunto deve ser preenchido.";
}
if(empty($_POST['mensagem'])){
$erros .= "A mensagem deve ser preenchida.";
}

if( empty($erros) ){
$phpmail->IsSMTP(); // Define que a mensagem será SMTP
$phpmail->Host = "msa-shared.infolink.com.br"; // Endereço do servidor SMTP, não altere esse campo.
$phpmail->SMTPAuth = true; // ativando a autenticação SMTP (obrigatório, não alterar)
$phpmail->Username = '[email protected]'; // usuário de smtp Usuário do servidor SMTP (endereço de email), altere para suas informações.
$phpmail->Password = 'DigiteSuaSenha'; // Senha do servidor SMTP (senha do email usado), altere para suas informações
$phpmail->Port = 587; //Porta de envio de SMTP (obrigatório, não alterar)
$phpmail->From = "[email protected]"; //Utilize o mesmo usuário do campo username, altere para suas informações
$phpmail->FromName = "[email protected]"; //tem que ser o mesmo usuário do campo username, altere para suas informações


$phpmail->AddAddress('[email protected]', 'Nome do Destinatário'); //E-mail que irá receber a mensagem
$phpmail->AddCC('[email protected]', 'Copia');  //E-mail que irá receber a cópia da mensagem
$phpmail->AddBCC('[email protected]', 'Copia Oculta'); //E-mail que irá receber a cópia oculta da mensagem

$phpmail->IsHTML(true); // Define que o e-mail será enviado como HTML
$phpmail->CharSet = 'UTF-8'; // Charset da mensagem


$phpmail->Subject  = "Formulário de Contato"; // Assunto da mensagem
$phpmail->Body .= "\r\n Nome: ".$_POST['nome'].""; // Texto da mensagem
$phpmail->Body .= "\r\n E-mail: ".$_POST['email'].""; // Texto da mensagem
$phpmail->Body .= "\r\n Telefone: ".$_POST['telefone'].""; // Texto da mensagem
$phpmail->Body .= "\r\n Assunto: ".$_POST['assunto'].""; // Texto da mensagem
$phpmail->Body .= "\r\n Mensagem: ".nl2br($_POST['mensagem']).""; // Texto da mensagem

//Envio da Mensagem
$enviado = $phpmail->Send();

//Limpa os destinatários
$phpmail->ClearAllRecipients();
$phpmail->ClearAttachments();

//Exibe uma mensagem de resultado
if ($enviado) {
echo "E-mail enviado com sucesso!";
} else {
echo "Não foi possível enviar o e-mail." . $mail->ErrorInfo;
}
} else {
echo $erros;
}
}
?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formulário de Contato</title>
<style type="text/css">
#contato {
font-family: verdana, tahoma, sans-serif;
}

#contato input, #contato textarea {
font-family: verdana, tahoma, sans-serif;
padding: 6px;
width: 200px;
}
</style>
</head>

<body>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" id="contato">
<fieldset>
<legend>Formulário de Contato</legend>

   <label>Seu nome:</label><br />
<input name="nome" type="text" value="<?php echo $nome ?>" /><br /><br />

<label>Seu email:</label><br />
<input name="email" type="text" value="<?php echo $email ?>" /><br /><br />

<label>Assunto:</label><br />
<input name="assunto" type="text"  value="<?php echo $assunto ?>" /><br /><br />

<label>Mensagem:</label><br />
<textarea name="mensagem" rows="10"  value="<?php echo $mensagem ?>"></textarea><br /><br />

<input name="submit" type="submit" value="Enviar" style="width: auto;" />
</fieldset>
</form>
</body>
</html>

Well there is the beginning, simple code that you will adapt as needed. To send email with phpmailer.
Source: link

    
25.01.2016 / 02:40