Ir para conteúdo

POWERED BY:

Arquivado

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

Eduardo Tavares

Email PHP Autenticado.Como?

Recommended Posts

Ola!

 

Preciso enviar um email de um formulario no meu site mas tem q ser autenticado. Estou usando o codigo abaixo mas nao esta funcionando.

 

<?php


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

$senderEmail = $_POST['senderEmail'];

$date = date("m/d/Y H:i:s");
$to = "chambstation@djchambinho.com";
$ToSubject = "Alguem quer ser informado sobre as novidades da Chambstation";
$EmailBody 		= "
<html>
<body>
Favor cadastrar este endereço de e-mail no Banco de Dados da <B>CHAMBSTATION</B><BR><BR>
E-mail : $senderEmail<BR>
Enviado em : $date;

</body>
</html>";


$EmailFooter	= "<br />";	
$Message 		= $EmailBody.$EmailFooter;

$msgResponse = "
<html>
<body>
Olá ! <BR>
Seu e-mail foi cadastrado em nosso Banco de Dados.<BR>
Em breve você estará recebendo as novidades da Chambstation.<BR>
<BR>
<U>Endereço Cadastrado:</U><BR>
<B>E-mail :</B><I> $senderEmail </I><BR>
<B>Data do Cadastro : </B> <I>$date</I><BR>
<BR>
Obrigado,<BR>
DJ Chambinho - <B>Chambstation</B><BR>
www.djchambinho.com
</body>
</html>
";


error_reporting(E_ALL);
// 0 -> no time limit
set_time_limit(0);

// path to smtp.php from XPM2 package
require_once 'smtp.php';

$mail = new SMTP;
$mail->Delivery('relay');
$mail->Relay('mail.djchambinho.com', 'meu usuario', 'minha senha', 25, 'login', false);
$mail->TimeOut(10);
$mail->Priority('high');
$mail->From($senderEmail, '');
$mail->AddTo("chambstation@djchambinho.com" , 'Chambstation ');


$mail->Html($Message);

$sent = $mail->Send('Alguem quer ser informado sobre as novidades da Chambstation');

if($sent){
$mail->AddTo($senderEmail,'');
$mail->From('chambstation@djchambinho.com','Chambstation');
$mail->Html($msgResponse);
$mail->Send('Seu email foi cadastrado com sucesso!');
echo "retval=1";
}else{
echo "retval=0";
}

?>

 

Tenho mais 3 arquivos php o smtp.php,mime.php e func.php.

 

Mas nao ta funcionando.Retorna sempre uma msg de erro.

 

qual o melhor jeito de fazer isso? estou fazendo certo?

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

phpmailer resolve a vida amigo

 

caso utilize email autenticado do office 365 ou exchange utilize a swiftmailer

 

 

Eu consegui fazer o envio do email so que dentro do if q checa se foi enviado eu gostaria de retornar um email pro endereco do usuario q esta enviando o email falando q o email dele ta cadastrado.So que se eu ponho outro objeto la do email nao funciona nada.O email e enviado mas nao retorna nada pro flash e o email de retorno ao usuario nao é enviado

Compartilhar este post


Link para o post
Compartilhar em outros sites

mostre como está fazendo

 

você está usando a mesma instância do objeto PHPMailer? se sim, veja os métodos Clear*(), como ClearAddressed(), ClearAllRecipients() etc

 

 

Aqui esta :

 


<?php


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

$senderEmail = $_POST['senderEmail'];

$date = date("m/d/Y H:i:s");
$to = "chambstation@djchambinho.com";
$ToSubject = "Alguem quer ser informado sobre as novidades da Chambstation";
$EmailBody 		= "
<html>
<body>
Favor cadastrar este endereço de e-mail no Banco de Dados da <B>CHAMBSTATION</B><BR><BR>
E-mail : $senderEmail<BR>
Enviado em : $date;

</body>
</html>";


$EmailFooter	= "<br />";	
$Message 		= $EmailBody.$EmailFooter;

$msgResponse = "
<html>
<body>
Olá ! <BR>
Seu e-mail foi cadastrado em nosso Banco de Dados.<BR>
Em breve você estará recebendo as novidades da Chambstation.<BR>
<BR>
<U>Endereço Cadastrado:</U><BR>
<B>E-mail :</B><I> $senderEmail </I><BR>
<B>Data do Cadastro : </B> <I>$date</I><BR>
<BR>
Obrigado,<BR>
DJ Chambinho - <B>Chambstation</B><BR>
www.djchambinho.com
</body>
</html>
";

// Inclui o arquivo class.phpmailer.php localizado na pasta phpmailer
require("phpmailer/class.phpmailer.php");

// Inicia a classe PHPMailer
$mail = new PHPMailer();

// Define os dados do servidor e tipo de conexão
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->IsSMTP(); // Define que a mensagem será SMTP
$mail->Host = "mail.djchambinho.com"; // Endereço do servidor SMTP
$mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional)
$mail->Username = 'USUARIO'; // Usuário do servidor SMTP
$mail->Password = 'SENHA'; // Senha do servidor SMTP

// Define o remetente
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->From = $senderEmail; // Seu e-mail
$mail->FromName = "Ouvinte Chambstation"; // Seu nome

// Define os destinatário(s)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->AddAddress('chambstation@djchambinho.com', 'Chambstation');	
$mail->AddAddress('chambstation@djchambinho.com');
//$mail->AddCC('ciclano@site.net', 'Ciclano'); // Copia
//$mail->AddBCC('fulano@dominio.com.br', 'Fulano da Silva'); // Cópia Oculta

// Define os dados técnicos da Mensagem
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->IsHTML(true); // Define que o e-mail será enviado como HTML
//$mail->CharSet = 'iso-8859-1'; // Charset da mensagem (opcional)

// Define a mensagem (Texto e Assunto)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->Subject  = "Alguem quer ser informado sobre as novidades da Chambstation"; // Assunto da mensagem
$mail->Body = $Message;
//$mail->AltBody = "Este é o corpo da mensagem de teste, em Texto Plano! \r\n <img src="http://blog.thiagobelem.net/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"> ";

// Define os anexos (opcional)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
//$mail->AddAttachment("c:/temp/documento.pdf", "novo_nome.pdf");  // Insere um anexo

// Envia o e-mail
$enviado = $mail->Send();  

// Exibe uma mensagem de resultado
if ($enviado) {

echo "retval=1";

} else {

 echo "retval=0";
}

if ($enviado)
{
 sendMail($senderEmail,"chambstation@djchambinho.com",$msgResponse,"Seu e-mail foi cadastrado! ");	
}

function sendMail($para,$de,$mensagem,$assunto)
{
    $email = new PHPMailer();

// Define os dados do servidor e tipo de conexão
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
       $email->IsSMTP(); // Define que a mensagem será SMTP
       $email->Host = "mail.djchambinho.com"; // Endereço do servidor SMTP
       $email->SMTPAuth = true; // Usa autenticação SMTP? (opcional)
       $email->Username = 'USUARIO'; // Usuário do servidor SMTP
       $email->Password = 'SENHA'; // Senha do servidor SMTP
$email->From = $de;
$email->FromName = "Chambstation";
$email->AddAddress($para," ");
$email->isHTML(true);
$email->Subject = "Seu e-mail foi cadastrado no Banco de Dados da Chambstation com sucesso!";
$email->Body = $mensagem;

$email.Send();

$email->ClearAllRecipients();
       $email->ClearAttachments();

}

// Limpa os destinatários e os anexos

$mail->ClearAllRecipients();
$mail->ClearAttachments();	


?>



 

Eu tentei usa o mesmo $mail pra mandar os 2 emails tanto o pro meu site qunto pro user q enviou mas nao deu .ai tentei criar umnovo obj

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu precisava ter criado outro objeto($email) ou eu podia ter usado o mesmo objeto($mail)?

 

como você criou uma função, tem que usar outra instância local. Mas poderia ter usado a mesma instância, se fizesse num único escopo

Compartilhar este post


Link para o post
Compartilhar em outros sites

como você criou uma função, tem que usar outra instância local. Mas poderia ter usado a mesma instância, se fizesse num único escopo

 

Entao dentro desta funcaao eu posso usar o mesmo obj pra manar um outrou email se eu precisar?

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.