Ir para conteúdo

Arquivado

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

wneo

PHPmailer - liberar segurança no gmail

Recommended Posts

Olá!

 

Pessoal, estou utilizando o phpMailer para envio de email. O gmail está com uma segurança automática que evita o recebimento. Então fica necessário que o usuário modifique essa configuração para liberar o recebimento.

 

Vocês sabem alguma forma de configurar o código pra evitar isso automaticamente?

	$mail = new PHPMailer();
	$mail2 = new PHPMailer();

	/* ................................ Receber solicit ................................... */    
    
	$mail->Username = "email"; // your GMail user name
    $mail->Password = "senha"; 
	
    $mail->AddAddress("email","Tesste"); // recipients email
   
    $mail->FromName = $email;	 // readable name

    $mail->Subject = $nome;
	$mail->isHTML(true);
    $mail->Body    = $receber_solicit; 
	
    //-----------------------------------------------------------------------

    $mail->Host = "smtp.gmail.com"; // GMail
    $mail->Port = 587;
    $mail->IsSMTP(); // use SMTP
    $mail->SMTPAuth = true; // turn on SMTP authentication
    $mail->From = $mail->Username;
    if(!$mail->Send())
        echo "Mailer Error: " . $mail->ErrorInfo;
    else
        echo "Mensagem enviada";
	
	/* ............................... /Receber solicit ................................... */    
	
	/* ********************************************************************* */    
	
	/* ............................... Enviar resposta ................................... */    
	
	$mail2->Username = "email"; // your Gmail2 user name
    $mail2->Password = "senha"; 
	
    $mail2->AddAddress($email); // recipients email2	
   
    $mail2->FromName = 'Empresa';	 // readable name

    $mail2->Subject = 'Agradecemos o seu contato!';
	$mail2->isHTML(true);
    $mail2->Body    = $enviar_resposta_auto; 
	
    //-----------------------------------------------------------------------

    $mail2->Host = "smtp.gmail.com"; // Gmail2
    $mail2->Port = 587;
    $mail2->IsSMTP(); // use SMTP
    $mail2->SMTPAuth = true; // turn on SMTP authentication
    $mail2->From = $mail2->Username;
    if(!$mail2->Send())
        echo "mailer Error: " . $mail2->ErrorInfo;
    else
        echo "Mensagem enviada";
	
	/* .............................. /Enviar resposta ................................... */    

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
4 horas atrás, gabrieldarezzo disse:

Da uma olhada nisso:

imap.png

Sim.. nesse caso o usuário acessando sua configuração e alterando manualmente..

gostaria de uma solução no código, para que o usuário não tivesse essa necessidade..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda n entendi então.

O problema seria o disparo do e-mail?

Ou chegando no gmail das pessoas em categorias como 'Anuncios' - 'Spam'?

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, gabrieldarezzo disse:

Ainda n entendi então.

O problema seria o disparo do e-mail?

Ou chegando no gmail das pessoas em categorias como 'Anuncios' - 'Spam'?

Quando chega no gmail.

Em sua primeira vez, fica uma mensagem na caixa de entrada, como se alguem estivesse tentando invadir..

Então você libera nas configurações e envio normaliza...

Queria evitar essa necessidade por parte do usuário ter que fazer essa manobra.. e sim o código já resolver a comunicação com o gmail...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu continuo em dúvida.

 

Você está disparando pelo Gmail?

Já olhou a documentação do PHP Mailer a respeito de disparo pelo Gmail?

Parece q tem uma área especialmente pra isso.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 20/04/2017 at 19:29, gabrieldarezzo disse:

Eu continuo em dúvida.

 

Você está disparando pelo Gmail?

Já olhou a documentação do PHP Mailer a respeito de disparo pelo Gmail?

Parece q tem uma área especialmente pra isso.

 

Disparo através de um site web...

Com objetivo de receber o conteudo em uma caixa de entrada gmail...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está disparando pelo Gmail?

 

 

SIM??

Não?



 

Deixa eu reformular a pergunta...

 

Você está disparando por um EMAIL do Gmail utilizando o seu site?

 

Já olhou a documentação do PHP Mailer a respeito de disparo pelo Gmail?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A partir de dezembro de 2014, o Google começou a impor um mecanismo de autenticação chamado XOAUTH2 baseado no OAuth2 para acesso a seus aplicativos, incluindo o Gmail. (Fonte)
 

A maneira mais fácil de permitir que o PHPMailer utilize o SMTP do Gmail é dando permissão de acesso para "aplicativos menos seguros". Basta seguir esse tutorial.
 

A partir da versão 5.2.11, o PHPMailer passou a aceitar autenticação XOAUTH2, porém necessita da versão 5.5 ou superior do PHP. Caso prefira, é só seguir esse tutorial (em inglês).

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 27/04/2017 at 14:57, gabrieldarezzo disse:

Você está disparando pelo Gmail?

 

 

SIM??

Não?



 

Deixa eu reformular a pergunta...

 

Você está disparando por um EMAIL do Gmail utilizando o seu site?

 

Já olhou a documentação do PHP Mailer a respeito de disparo pelo Gmail?

 ------------------------------------------------------------------------------------------

*Sim, disparando por um email do Gmail utilizando meu site.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por 4Unknow
      Boa tarde pessoal, como vocês estão?
      Estou com uma bronca aqui que, mudei de host, e meu sistema de feedback não envia mais os e-mails por que algumas funções estão desativadas pelo host:

      "A função mail() do PHP é desativada por padrão em todos os nossos servidores. Isso porque é uma função perigosa que pode ser usada por códigos maliciosos para disparar mensagens de spam em massa pela sua hospedagem. Isso gera problemas tanto para seu site, quanto para o servidor como um todo.  Para disparar e-mails você precisa usar SMTP autenticado. Usando o protocolo SMTP você utiliza uma conta de e-mail existente em sua hospedagem para enviar suas mensagens de forma autenticada e segura. "

      Mas como não tenho conhecimento não sei como usar via SMTP.
      Meu arquivo que dispara é este abaixo:

       
      <?php $mail = $_POST['email']; $to = "feedback@roboeverest.app";/* SEU EMAIL */ $subject = "Feedback | Robô Everest"; $headers = "De: Feedback | Robô Everest <naoresponda@roboeverest.app>"; $message = "DETALHES\n"; $message .= "\nPrimeiro Nome: " . $_POST['firstname']; $message .= "\nSegundo Nome: " . $_POST['lastname']; $message .= "\nE-mail: " . $_POST['email']; $message .= "\nIdade: " . $_POST['age']; $message .= "\nGênero: " . $_POST['gender']; $message .= "\nTermos e condições aceitos: " . $_POST['terms']. "\n"; $message .= "\nComo você avalia sua satisfação geral com nossos serviços prestados? " . $_POST['question_1']. "\n"; $message .= "\nComo você ficou sabendo da nossa empresa?\n" ; foreach($_POST['question_2'] as $value) { $message .= "- " . trim(stripslashes($value)) . "\n"; }; $message .= "\nVocê pensa em sugerir nossa empresa para um amigo ou conhecido? " . $_POST['question_3']; if( isset( $_POST['additional_message'] ) && $_POST['additional_message']) { $message .= "\nMensagem Adicional: " . $_POST['additional_message']; } //Receive Variable $sentOk = mail($to,$subject,$message,$headers); //Confirmation page $user = "$mail"; $usersubject = "Obrigado"; $userheaders = "De: feedback@roboeverest.app\n"; /*$usermessage = "Thank you for your time. Your quotation request is successfully submitted.\n"; WITH OUT SUMMARY*/ //Confirmation page WITH SUMMARY $usermessage = "Obrigado pelo seu tempo. Sua solicitação foi enviada com sucesso. Nós responderemos em breve.\n\nABAIXO UM RESUMO\n\n$message"; mail($user,$usersubject,$usermessage,$userheaders); ?>  
      Sou muito leigo, gostaria de fazer envia via SMTP. É difícil de mais?
      Grato se alguém puder me ajudar ou me dar uma luz.
      Abraço.
    • Por Ferdz-Agencia-Digital
      Estou desenvolvendo um APP  (Kotlin) e  preciso que após 3 minutos de inatividade e ele se feche. Isso é possível ?
    • Por Fernando Rafael
      Bom dia, estou baixando arquivos que estão em uma hospedagem própria para serem acessados por um aplicativo que estou desenvolvendo (consigo fazer normalmente utilizando os comandos citado mais a baixo), porém os arquivos ficam salvos na pasta padrão de DOWNLOADS do Android, minha intenção não é ficar acumulando estes arquivos no aparelho, ou esperar que o usuário exclua manualmente, gostaria em salva-los em uma pasta interna do aplicativo para que seja possível excluir automaticamente pelo próprio aplicativo, já tentei como alternativa excluir esses arquivos da pasta DOWNLOADS, mas não consegui...
       
      Segue o código que estou usando para baixar os arquivos, queria adaptar para baixar direto na pasta interna do aplicativo, ou como alternativa caso isso não seja possível, conseguir excluir esses arquivos da pasta DOWNLOADS do Android...
       
      String url = "https://www.site.com/arquivo.pdf"; //Arquivo que vou baixar DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url)); request.setDescription("Alguma descrição"); request.setTitle("Algum titulo"); //A notificação de conslusão só esta disponível a partir da API 11 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { request.allowScanningByMediaScanner(); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); } //Salvando o arquivo no diretório de Downloads request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "arquivo.pdf"); DownloadManager manager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); manager.enqueue(request);  
    • Por Fernando Rafael
      Bom dia, alguém poderia me ajudar com esse problema? 
       
      Estou fazendo um aplicativo bem simples em que sua única função será criar uma pasta no celular (em local acessível pelo gerenciador de arquivos do usuário), e posteriormente copiar arquivos de outro local ou rede e colocar nesta pasta.
       
      Fiz algumas pesquisas, mas por incrível que pareça não encontrei algo que tenha funcionando. Também tenho dúvidas sobre qual seria o equivalente ao "C:/" do Android.
    • Por fmcmf
      Boa tarde...
      Tenho um formulário no site e o envio é usando o PHPMailer... o email está chegando no destino.... mas o conteúdo inserido nos campos não chega.
       
      Segue o código do formulário em html:
       
      <div id="banner"> <img class="fotobanner" src="img/comprar.png" alt=""> </div> <div class="formulario"> <h3 align="center"> PREENCHA OS DADOS ABAIXO PARA CONTRATAR: </h3> <form action=”envia.php” method=”post” id=”contato”> <div class="form-group"> <label for="exampleFormControlInput1">Nome completo:</label> <input type="nome" class="form-control" id="nome" placeholder="Nome" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">CPF:</label> <input type="cpf" class="form-control" id="cpfcli" placeholder="CPF" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Gênero:</label> <select class="form-control" id="generocli" required> <option>Feminino</option> <option>Masculino</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">Data de Nascimento (dia/mês/ano):</label> <input type="" class="form-control" id="nasccli" placeholder="Data de nascimento (dia/mês/ano)" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Estado Civil:</label> <select class="form-control" id="ecivilcli" required> <option>Casado(a)</option> <option>Solteiro(a)</option> <option>Divorciado(a)</option> <option>Viúvo(a)</option> </select> </div> <div class="form-group"> <label for="exampleFormControlTextarea1">Endereço Completo + CEP:</label> <textarea class="form-control" id="endcli" rows="3" required></textarea> </div> <div class="form-group"> <label for="exampleFormControlInput1">Celular com DDD:</label> <input type="" class="form-control" id="celcli" placeholder="Celular com DDD" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">E-mail:</label> <input type="" class="form-control" id="emailcli" placeholder="E-mail" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">PLANO Desejado:</label> <select class="form-control" id="plano" required> <option>SELECT</option> <option>PLUS</option> <option>TOP</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">NOME do PET:</label> <input type="" class="form-control" id="nomedopet" placeholder="NOME do PET" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">IDADE do PET:</label> <input type="" class="form-control" id="idadedopet" placeholder="IDADE do PET" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Tipo do PET:</label> <select class="form-control" id="tipodopet" required> <option>GATO</option> <option>CACHORRO</option> </select> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Gênero do PET:</label> <select class="form-control" id="generodopet" required> <option>FÊMEA</option> <option>MACHO</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">RAÇA do PET:</label> <input type="" class="form-control" id="racadopet" placeholder="RAÇA do PET" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">PORTE do PET:</label> <select class="form-control" id="portedopet" required> <option>Pequeno</option> <option>Médio</option> <option>Grande</option> </select> </div> <div class="dobotao"> <button type="submit" class="botao"> <strong>ENVIAR DADOS </strong> </button></div> </form></div> Segue o código do enviar.php
       
      <?php require 'PHPMailerAutoload.php'; require 'class.phpmailer.php'; $mailer = new PHPMailer; //$mailer->SMTPDebug = 2; // Enable verbose debug output $mailer->isSMTP(); // Set mailer to use SMTP $mailer->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) ); if($_GET['acao'] = 'enviar'){ $nome = $_POST['nome']; $cpfcli = $_POST['cpfcli']; $generocli = $_POST['generocli']; $nasccli = $_POST['nasccli']; $ecivilcli = $_POST['ecivilcli']; $celcli = $_POST['celcli']; $plano = $_POST['plano']; $nomedopet = $_POST['nomedopet']; $tipodopet = $_POST['tipodopet']; $generodopet = $_POST['generodopet']; $racadopet = $_POST['racadopet']; $portedopet = $_POST['portedopet']; $mailer->Host = 'pleskl0040.hospedagemdesites.ws'; $mailer->SMTPAuth = true; // Enable SMTP authentication $mailer->IsSMTP(); $mailer->isHTML(true); // Set email format to HTML $mailer->Port = 587; // Ativar condição utf-8, para acentuação $mailer->CharSet = 'UTF-8'; $mailer->Username = 'formulario@thna.com.br'; // SMTP username $mailer->Password = '@Nathi1010'; // SMTP password // email do destinatario $address = "formulario@thna.com.br"; //$mailer->SMTPDebug = 1; $corpoMSG = "nome: $nome <br> cpf: $cpfcli <br> genero: $generocli <br> nascimento: $nasccli <br> estado: $ecivilcli <br> celular: $cel <br> plano: $plano <br> pet: $nomedopet <br> tipo: $tipodopet generopet $generodopet <br> racapet: $racadopet <br> porte: $portedopet"; $mailer->AddAddress($address, "destinatario"); $mailer->AddAddress("formulario@thna.com.br", "destinatario 2"); // 2º destinatário se querer enviar, se não, comente com // $mailer->From = 'formulario@thna.com.br'; $mailer->Sender = 'formulario@thna.com.br'; $mailer->FromName = "Site Saúde PET"; // Seu nome // assunto da mensagem $mailer->Subject = $assunto; // corpo da mensagem $mailer->MsgHTML($corpoMSG); if(!$mailer->Send()) { echo "Erro: " . $mailer->ErrorInfo; } else { echo "Mensagem enviada com sucesso!"; } } header('Location: /pet/confirmado.html');  ?> Como comentei,  o email chega... mas o conteúdo do form não chega... Segue anexo print da caixa do e-mail:
       
      Desde já agradeço.

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.