Ir para conteúdo

POWERED BY:

Arquivado

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

webmartins

PHPMailer do UOL

Recommended Posts

Boa tarde Galera,

não to conseguindo enviar mensagem pelo formulário em PHPMailer no UOL.

Alguém tem um formulário simples que funcione para eu me basear ?

 

Agradeço muito.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este meu exemplo funciona 100%

http://rberaldo.com.br/enviando-e-mails-com-a-classe-phpmailer/

 

Você deve estar usando dados incorretos pra autenticação. Habilite todas as exibições de erro como mostrado neste tópico e também defina SMTPDebug pra true, desta forma:

 

 

$Mailer->SMTPDebug = true;

 

Isso deve mostrar na tela todo o processo de autenticação SMTP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia amigo, fiquei contente com tua resposta, nunca tinha usado um forum, é uma luz no fundo do túnel, agradeço se puder me auxiliar, (se vc tiver uma rotina que funcione como exemplo eu me viro)

uma observação: meu cliente usa e-mail criptografado, isso pode ser o problema ?

 

essa é a rotina que fiz que nao envia.

 

<?php
// recebe as Variaveis
$nome = $_POST["nome"];
$email = $_POST["email"];
$mensagem = $_POST["mensagem"];
// Inclui o arquivo class.phpmailer.php localizado na pasta phpmailer
include("class.phpmailer.php");
// Inicia a classe PHPMailer
$mail = new PHPMailer();
// Define os dados do servidor e tipo de conexão
$mail->IsSMTP();
$mail->Host = "smtps.uol.com.br"; // Endereço do servidor SMTP
$mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional)
$mail->Username = 'testemarcelo@dominio.com.br'; // Usuário do servidor SMTP
$mail->Password = '***'; // Senha do servidor SMTP
// Define o remetente.
$mail->From = "testemarcelo@dominio.com.br"; // Seu e-mail
$mail->FromName = "Administrador"; // Seu nome
// Define os destinatário(s)
$mail->AddAddress($email, $nome);
$mail->AddCC('testemarcelo@dominio.com.br', 'Eu'); // Copia
// Define os dados técnicos da Mensagem
$mail->IsHTML(true); // Define que o e-mail será enviado como HTML
// Define a mensagem (Texto e Assunto)
$mail->Subject = "Mensagem do site"; // Assunto da mensagem
$mail->Body = $mensagem;
// Envia o e-mail
$enviado = $mail->Send();
// Exibe uma mensagem de resultado
if ($enviado) {
echo "E-mail enviado com sucesso!";
} else {
echo "Não foi possível enviar o e-mail !";
}
?>
agora de manha deu uma coisa que nao tinah dado ainda, abaixo:
filter? return $this->EncodeQPphp($string, $line_max, $space_conv); //Fall back to old implementation } $fp = fopen('php://temp/', 'r+'); $string = preg_replace('/\r\n?/', $this->LE, $string); //Normalise line breaks $params =

essa rotina abaixo fornecida pela UOL, quando clico em enviar a tela fica branca e não chega o e-mail

 

 

<?php
/*apenas dispara o envio da mensagem caso houver/existir $_POST['enviar']*/
if (isset($_POST['enviar']))
{
$destinatarios = 'testemarcelo@dominio.com.br';
$nomeDestinatario = 'Marcelo';
$usuario = 'testemarcelo@dominio.com.br';
$senha = '******';
/*abaixo as veriaveis principais, que devem conter em seu formulario*/
$nomeRemetente = $_POST['nomeRemetente'];
$assunto = $_POST['assunto'];
$_POST['mensagem'] = nl2br('E-mail: '. $_POST['email'] ."
". $_POST['mensagem']);
/*********************************** A PARTIR DAQUI NAO ALTERAR ************************************/
include_once("class.phpmailer.php");
$To = $destinatarios;
$Subject = $assunto;
$Message = $_POST['mensagem'];
$Host = 'smtp.'.substr(strstr($usuario, '@'), 1);
$Username = $usuario;
$Password = $senha;
$Port = "587";
$mail = new PHPMailer();
$body = $Message;
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = $Host; // SMTP server
$mail->SMTPDebug = 0; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Port = $Port; // set the SMTP port for the service server
$mail->Username = $Username; // account username
$mail->Password = $Password; // account password
$mail->SetFrom($usuario, $nomeDestinatario);
$mail->Subject = $Subject;
$mail->MsgHTML($body);
$mail->AddAddress($To, "");
if(!$mail->Send()) {
$mensagemRetorno = 'Erro ao enviar e-mail: '. print($mail->ErrorInfo);
} else {
$mensagemRetorno = 'E-mail enviado com sucesso!';
}
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você deixou o SMTPDebug em 0. Habilite o debug até encontrar o problema. Depois de resolvido, volte a deixá-lo em 0

 

também habilite todas as exibições de erro como mostrado neste tópico. Isso fará com que qualquer erro seja exibido na tela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo, to me achando o cara mais burro que existe, ja comprei até foguete pra soltar quando aparecer algo na minha caixa de entrada. :(

 

essa é a rotina que to tentando executar: coloquei a rotina para exibir erro e a tela tá branca

 

veja se consegue me ajudar porfavor

 

 

 

<?php
ini_set( 'display_errors', true );
error_reporting( E_ALL );
/*apenas dispara o envio da mensagem caso houver/existir $_POST['enviar']*/
if (isset($_POST['enviar']))
{
$destinatarios = 'testemarcelo@dominiocliente.com.br';
$nomeDestinatario = 'Marcelo';
$usuario = 'testemarcelo@dominiocliente.com.br';
$senha = '*****';
/*abaixo as veriaveis principais, que devem conter em seu formulario*/
$nomeRemetente = $_POST['nome'];
$assunto = $_POST['assunto'];
$_POST['mensagem'] = nl2br('E-mail: '. $_POST['email'] ."
". $_POST['mensagem']);
/*********************************** A PARTIR DAQUI NAO ALTERAR ************************************/
include_once("class.phpmailer.php");
$To = $destinatarios;
$Subject = $assunto;
$Message = $_POST['mensagem'];
$Host = 'smtp.'.substr(strstr($usuario, '@'), 1);
$Username = $usuario;
$Password = $senha;
$Port = "587";
$mail = new PHPMailer();
$body = $Message;
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = $Host; // SMTP server
$mail->SMTPDebug = 1; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Port = $Port; // set the SMTP port for the service server
$mail->Username = $Username; // account username
$mail->Password = $Password; // account password
$mail->SetFrom($usuario, $nomeDestinatario);
$mail->Subject = $Subject;
$mail->MsgHTML($body);
$mail->AddAddress($To, "");
if(!$mail->Send()) {
$mensagemRetorno = 'Erro ao enviar e-mail: '. print($mail->ErrorInfo);
} else {
$mensagemRetorno = 'E-mail enviado com sucesso!';
}
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao, nada

vc por acaso nao tem um modelo de form e envio do UOL ?

ai me baseio nele

 

O cliente usa e-mail criptografado. vc acha que isso tem a ver com o erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao, nada

você por acaso nao tem um modelo de form e envio do UOL ?

ai me baseio nele

Não uso UOL.

E o modelo é sempre o mesmo. Só mudam os dados de conexão, criptografia (TLS ou SSL), porta etc

Verifique os parâmetros de conexão usados pelo UOL.

Também olhe os logs do servidor. As mensagens de erro devem estar indo pra lá.

 

 

O cliente usa e-mail criptografado. você acha que isso tem a ver com o erro?

Não sei o que você quer dizer com isso. Ele usa uma chave GPG pra enviar e receber mensagens? Se for isso, não mudará nada. O email chegará, mas sem criptografia apenas

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.