Email autenticado com classe phpmailer [RESOLVIDO]

1. Email autenticado com classe phpmailer [RESOLVIDO]

Diego Ramos
diegoramos

(usa Debian)

Enviado em 18/09/2008 - 16:46h

Boa tarde a todos ,
Estou tendo certa,dificuldade com a resolução de um problema,se puderem me ajudar. =]

O meu objetivo é criar uma pagina que colete dados,que serão usados para enviar um email,porem esse email tera que ser autenticado.Vi diversas paginas na internet que comentam algo sobre essa situação até me deparar com a classe phpmailer.
Bem,baixei ela e estou dando uma olhada,achei bem completa,porem não tenho conseguido realizar meu objetivo,até o devido momento tenho o seguinte erro abaixo:
_______________________________________________

Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/ramos/ProjetoMailer/phpmailer/class.smtp.php on line 101

Warning: fsockopen(): unable to connect to :465 in /var/www/ramos/ProjetoMailer/phpmailer/class.smtp.php on line 101

Houve um erro ao enviar email!
Language string failed to load: connect_host
_______________________________________________

Abaixo segue os fontes do arquivos que estou utilizando :

---------------------------------------------
Codigo do html :

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Formulario para Email rapido</title>
</head>

<body>

<form id="form1" name="form1" method="post" action="enviar_contato.php">


<center> <h4> Informe seus Dados abaixo : </h4> </center>

<table width="500" border="0" cellspacing="2" cellpadding="5">

<tr>
<td>Nome -> </td>
<td><input name="nome" type="text" id="nome" /></td>
</tr>

<tr>
<td>Assunto -> </td>
<td><input name="assunto" type="text" id="assunto" /></td>
</tr>

<tr>
<td>E-mail Remetente -> </td>
<td><input name="email" type="text" id="email" /></td>
</tr>


<tr>
<td> Endereço do Servidor SMTP do seu Provedor -> </td>
<td><input name="smtp" type="text" id="smtp" />( ex:. <i>smtp.globo.com</i> )</td>
</tr>

<tr>
<td> Seu usuario no provedor informado -> </td>
<td><input name="user" type="text" id="usuario" />( ex:. <i> sige@globo.com</i> )</td>
</tr>

<tr>
<td> Sua senha no provedor informado -> </td>
<td><input name="user" type="password" id="senha" /></td>
</tr>

<tr>
<td> E-mail Destinatário -> </td>
<td><input name="dest" type="text" id="dest" /></td>
<tr>
</tr>

<tr>
<td>Mensagem --> </td>
<td><textarea name="mensagem" cols="35" rows="10" id="mensagem"></textarea></td>
</tr>

<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Enviar Mensagem"></td>
</tr>

<tr>
<td>

</table>
</form>

</body>
</html>
---------------------------------------------

---------------------------------------------
Codigo fonte do enviar_contato.php


<?php

/* Enviar E-mail */

include("/var/www/ramos/ProjetoMailer/phpmailer/class.phpmailer.php");
include("/var/www/ramos/ProjetoMailer/phpmailer/class.smtp.php");

//instancia a objetos
$mail = new PHPMailer();

// mandar via SMTP
$mail->IsSMTP();

// Seu servidor smtp
$mail->host = "$smtp";

// habilita smtp autenticado
$mail->SMTPAuth = true;

// usuário deste servidor smtp
$mail->Username = "$usuario"; // Usuario
$mail->Password = "$senha"; // senha

//email utilizado para o envio(remetente)
//pode ser o mesmo de username
$mail->From = "$recebemail";
$mail->FromName = "$nome";

//Enderecos que devem ser enviadas as mensagens
$mail->AddAddress("$recebedest");

// Setando Dados para conexao
$mail->Port = 465;


// wrap seta o tamanho do texto por linha
$mail->WordWrap = 50;

$mail->IsHTML(true); //enviar em HTML

// recebendo os dados do formulario
if(isset($_POST['nome'])){

$nome = ucwords($_POST['nome']);
$recebeassunto = $_POST['assunto'];
$recebemail = $_POST['email'];
$recebesmtp = $_POST['smtp'];
$recebeuser = $_POST['usuario'];
$recebesenha = $_POST['senha'];
$recebedest = $_POST['dest'];
$recebemensagem = $_POST['mensagem'];

// informando a quem devemos responder
//ou seja para o mail inserido no formulario
$mail->AddReplyTo("$recebemail","$nome");


// Definindo os cabeçalhos do e-mail
$headers = "Content-type:text/html; charset=iso-8859-1";

// Definindo destinatário do email.
$para = "$recebedest";

// Definindo o aspecto da mensagem

$mensagem = "";
$mensagem .= "<h3>De:$recebemail</h3> ";
$mensagem .= $recebenome . $recebemail;
$mensagem .= "<h3>Mensagem</h3>";
$mensagem .= $recebemsg;


}

$mail->Subject = "$recebeassunto";

// Adicionando o html no corpo do email
$mail->Body = $mensagem;

// Enviando a mensagem para o destinatário,retornando status de envio
if(!$mail->Send())
{
echo "<P>Houve um erro ao enviar email! </P>".$mail->ErrorInfo;
$mail->ErrorInfo;
exit;
}
echo "<P>Mensagem enviado...OK!";

?>
______________________________________________

Não coloquei o source do class.smtp.php e do class.phpmailer.php,pois creio que ficaria um "pouco" enorme. ;) hehe

Agradeço desde já a atenção! =D





  


2. MELHOR RESPOSTA

Elizênio Cardoso
zennh

(usa Slackware)

Enviado em 03/01/2009 - 21:23h

ola amigo eu tambem tive o mesmo problema com ajuda do nosso amigo fabio consegui.

ta ae o codigo
---------------------------------
<?
$nome = $_POST["nome"];
$s_email = $_POST["s_email"];
$d_email = $_POST["d_email"];
$assunto = $_POST["assunto"];
$titulo = $_POST["titulo"];
$mensagem = $_POST["mensagem"];
include"class.phpmailer.php";
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;

$mail->Username = "zenoveiga@gmail.com";
$mail->Password = "*****";//minha senha

$mail->From = "$s_email";
$mail->FromName = "$nome";
$mail->Subject = "$assunto";

$html = "<strong><h1>$titulo</h1></strong><br><h3>$mensagem</h3><br><div align='center'><font size='2'><em>Ti
Web Solutions Solu&ccedil;&otilde;es em sistemas&nbsp;</em></font><img src='http://www.tiwebsolutions.com.br/images/img_log.gif'
width='27' height='20'></div>";
$texto = "$titulo $mensagem";

$mail->Body = $html;
$mail->AltBody =$texto;

$mail->AddAddress("$d_email");

if(!$mail->Send())
{
echo "não foi";
}
else
{
echo "foi";
}
?>
--------------------------------------------
funcionou blz

qualquer coisa me mande um email.
OBS: vc tem que colocar na mesma pasta o aruqivo class.phpmailer.php e class.smtp.php sinão num funciona.

boa sorte!

3. Re: Email autenticado com classe phpmailer [RESOLVIDO]

Diego Ramos
diegoramos

(usa Debian)

Enviado em 05/01/2009 - 09:55h

Ok.
Obrigado pela atenção. :)
Aqui está tudo certo.
Grato,mesmo.


4. Re: Email autenticado com classe phpmailer [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 05/01/2009 - 10:02h

Pude solucionar um probema antigo graças a dica.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts