Ir para conteúdo
Fórum Script Brasil
  • 0

PHPMailer não manda pelo Firefox


Air-Gear

Pergunta

Olá gente!

Eu utilizei o PhpMailer pra mandar formulário pelo e-mail e usei Chrome, Firefox e Opera pra fazer o teste. O que eu achei engraçado é que não chegou pelo Firefox, mas chegou nos outros dois. Alguém sabe o que pode ser esse problema?

Eis o código:
 

<?php
//auto loader da versão atual
require 'phpmailer/PHPMailerAutoload.php';
require 'phpmailer/class.phpmailer.php';
$empresa           = $_POST['empresa'];
$solicitante          = $_POST['solicitante'];
$telsolicitante       = $_POST['telsolicitante'];
$emailsolicitante        = $_POST['emailsolicitante'];
//Comentário
$obs    = $_POST['obs'];
$mail = new PHPMailer();
$host       = 'mail.mail.com.br';
$username   = 'smail@mal.com.br';
$password   = 'senhaocultada';
$port       = 587;
$secure     = 'tls';
$from       = $username;
$fromName   = 'Usuario';
//CONFIGURAÇÕES DO SMTP
$mail->isSMTP();
$mail->Host         = $host;
$mail->SMTPAuth     = true;
$mail->Username     = $username;
$mail->Password     = $password;
$mail->Port         = $port;
$mail->SMTPSecure   = $secure;
//CONFIGURAÇÕES DO DESTINATÁRIO, NO CASO O DONO DO SITE
$mail->From     = $from;
$mail->FromName = $fromName;
$mail->addReplyTo($emailsolicitante, $solicitante);
//EMAIL PARA O QUAL O DONO DO SITE DEVERÁ RETORNAR
$mail->setFrom($emailsolicitante, $solicitante);
$mail->addAddress($from, $fromName);
//CONFIGURAÇÕES DO HTML
$mail->isHTML(true);
$mail->CharSet = 'utf-8';
$mail->WordWrap = 70;
//ASSUNTO MENSAGEM
$mail->Subject = 'Contato pelo Site';
$body = "
    <strong> Mensagem de Atendimento Online!</strong><br><br>
    <br><strong> Empresa: </strong> $empresa;
    <br><strong> Nome do Solicitante: </strong> $solicitante;
    <br><strong> Telefone com DDD: </strong> $telsolicitante;
    <br><strong> E-Mail do solicitante: </strong> $emailsolicitante;
    <br><strong> Motivo: </strong>";
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        if (array_key_exists('sup_vendas', $_POST)) {
            $body .= "Vendas, ";
        }
        if (array_key_exists('sup_exp_banco', $_POST)) {
            $body .= "Exportação Banco, ";
        }
        if (array_key_exists('sup_locacao', $_POST)) {
            $body .= "Locação, ";
        }
        if (array_key_exists('sup_exp_site', $_POST)) {
            $body .= "Exportação Site, ";
        }
        if (array_key_exists('sup_site', $_POST)) {
            $body .= "Site, ";
        }
        if (array_key_exists('sup_exp_portal', $_POST)) {
            $body .= "Exportação Portal, ";
        }
        if (array_key_exists('sup_financeiro', $_POST)) {
            $body .= "Financeiro, ";
        }
    }
        
    $body .= "<br><strong> Comentários: </strong> $obs";
$mail->Body = $body;
$mail->AltBody = $body;
// //VERIFICAÇÃO DE RETORNO, SE FOR TRUE PASSA NO IF, SENÃO PASSA NO ELSE
if(!$mail->Send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo "<META HTTP-EQUIV=Refresh CONTENT='0;URL=http://www.site.com.br/index.php?msg=enviado'>";die();
}
$mail->SMTPDebug = 3;
?>

 

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

Se enviou por algum dos navegadores, sem sombra de dúvida não é problema no código PHP.

A requisição que dispara o e-mail, é feita por Ajax ou enfio de formulário?

Quando abre a página pelo Firefox e abre o modo desenvolvedor, o Javascript da algum erro?

Link para o comentário
Compartilhar em outros sites

  • 0
8 horas atrás, Markus Magnus disse:

Se enviou por algum dos navegadores, sem sombra de dúvida não é problema no código PHP.

A requisição que dispara o e-mail, é feita por Ajax ou enfio de formulário?

Quando abre a página pelo Firefox e abre o modo desenvolvedor, o Javascript da algum erro?

Bom, pelo Firefox dá esse erro na página.

erro.jpg.5332ab5341f8b835fddffe92caa4f939.jpg

A requisição dispara o e-mail é pelo envio do formulário.

O código do formulário:

<form class="fixed" id="contact-form-suporte"  name="contact-form-suporte" method="post" action="envia_suporte_online.php">  
                        <fieldset>
                            <div id="formstatus"></div>
                            
                            <?php //Abaixo os dados da solicitação ?>
                            
                            
                            <!--<div id="id_suporte" style="padding-left: 550px;"><h3>Solicitação num.001</h3></div>-->
                            
                            
                            <div class="row" >  
                            	<div class="span4">                         
                            		<p>
                                		<label><strong>Empresa:</strong></label>
                                		<input class="span8" type="text" id="empresa" name="empresa" value=""  />
                            		</p>
									<p>
                                		<label><strong>Nome do Solicitante:</strong></label>
                                		<input class="span8" type="text" id="solicitante" name="solicitante" value=""  />
                            		</p>
                            	</div>
								<div class="span4">                         
                            		<p>
                                		<label><strong>Telefone com DDD:</strong></label>
                                		<input class="span8" type="text" id="telsolicitante" name="telsolicitante" value=""  />
                            		</p>
									<p>
                                		<label><strong>E-Mail do Solicitante:</strong></label>
                                		<input class="span8" type="text" id="emailsolicitante" name="emailsolicitante" value=""  />
                            		</p>
                            	</div><!--  end .span4 -->                             
                            </div><!--  end .row -->
                            
                            <br>
                            
                            <h4>Motivo:</h4>  
                            
<!-- /////////////////////////////////////// Opção de Motivo -- Várias Opções (check box) -->
                            <div class="row">
                            <fieldset style="border:1px dotted #CCC;padding:5px;">
                      		<div class="span8" style="">                         
                             
                            
                            <p>
                            <div class="span3" style="margin-left:0;">
                            	<input class="span0" type="checkbox" id="sup_vendas" name="sup_vendas" value="Sim" style="display:inherit;-webkit-appearance:checkbox;" />    
                            	<label for="sup_vendas" style="display:inline-block;margin-top:-3px;"> Vendas  </label>
                            </div>
                            
                            <div class="span3" style="margin-left:0;">
                            	<input class="span0" type="checkbox" id="sup_exp_banco" name="sup_exp_banco" value="Sim" style="display:inherit;-webkit-appearance:checkbox;" /> 
                            	<label for="sup_exp_banco" style="display:inline-block;margin-top:-3px;"> Exportação Banco  </label>
                            </div>                            
                            </p>
                            
                            <p>
                            <div class="span3" style="margin-left:0;">
                            	<input class="span0" type="checkbox" id="sup_locacao" name="sup_locacao" value="Sim" style="display:inherit;-webkit-appearance:checkbox;" />    
                            	<label for="sup_locacao" style="display:inline-block;margin-top:-3px;"> Locação  </label>
                            </div>
                            
                            <div class="span3" style="margin-left:0;">
                            	<input class="span0" type="checkbox" id="sup_exp_site" name="sup_exp_site" value="Sim" style="display:inherit;-webkit-appearance:checkbox;" /> 
                            	<label for="sup_exp_site" style="display:inline-block;margin-top:-3px;"> Exportação Site  </label>
                            </div>                            
                            </p>
                            
                            <p>
                            <div class="span3" style="margin-left:0;">
                            	<input class="span0" type="checkbox" id="sup_site" name="sup_site" value="Sim" style="display:inherit;-webkit-appearance:checkbox;" />    
                            	<label for="sup_site" style="display:inline-block;margin-top:-3px;"> Site  </label>
                            </div>
                            
                            <div class="span3" style="margin-left:0;">
                            	<input class="span0" type="checkbox" id="sup_exp_portal" name="sup_exp_portal" value="Sim" style="display:inherit;-webkit-appearance:checkbox;" /> 
                            	<label for="sup_exp_portal" style="display:inline-block;margin-top:-3px;"> Exportação Portal  </label>
                            </div>                            
                            </p>
                            
                            <p>
                            <div class="span3" style="margin-left:0;">
                            	<input class="span0" type="checkbox" id="sup_financeiro" name="sup_financeiro" value="Sim" style="display:inherit;-webkit-appearance:checkbox;" />    
                            	<label for="sup_financeiro" style="display:inline-block;margin-top:-3px;"> Financeiro  </label>
                            </div>
                            <!-- 
                            <div class="span3" style="margin-left:0;">
                            	<input class="span0" type="checkbox" id="sup_exp_banco" name="sup_exp_banco" value="Sim" style="display:inherit;-webkit-appearance:checkbox;" /> 
                            	<label for="sup_exp_banco" style="display:inline-block;margin-top:-3px;"> Exportação Banco  </label>
                            </div> 
                             -->                           
                            </p>
                                                                                                                                                                                                                                                                                           
                            </fieldset>
                            </div>
<!-- /////////////////////////////////////// FIM da opção de Treinamento -->                                                      
                            
                            
                            
                            <h4>Comentário:</h4>
							<p>Seja o mais claro possível na descrição de sua dúvida ou problema.</p>
							<p>Caso necessite enviar algum arquivo, encaminhe por e-mail para: <strong>contato@imobiliario.com.br</strong></p>
							<p>Evite usar palavras acentuadas.</p>
                            <p>
                                <textarea class="span9" id="obs" name="obs" rows="7" cols="25"></textarea>
                            </p>
                            </fieldset>
                  </fieldset>
                            
                            <p class="last text-right">
                                <input id="submit" type="submit" name="submit" class="btn-large btn-green" value="Solicitar Suporte" />
                            </p>
     
					</form><!-- end #contact-form -->	

O javascript dá algum erro:

No Firefox: SyntaxError: missing ; before statement

No Chrome: jquery.mask.min.js Failed to load resource: the server responded with a status of 404 (Not Found)       jquery.mask.min.js

 

 

Link para o comentário
Compartilhar em outros sites

  • 0
5 horas atrás, Markus Magnus disse:

Erro de SMTP?! Jesus...

Joga o 


$mail->SMTPDebug = 3;

La pra cima junto com usuario, senha... Pra ver se ele escreve mais sobre esse erro.

Espero que pelo localhost também dá o mesmo resultado se tivesse na hospedagem.

2017-09-04 17:33:48 Connection: opening to mail.imobiliario.com.br:587, timeout=300, options=array ( ) 2017-09-04 17:33:48 Connection: opened 2017-09-04 17:33:48 SERVER -> CLIENT: 220-iuri0153.hospedagemdesites.ws ESMTP Exim 4.89 #1 Mon, 04 Sep 2017 14:33:45 -0300 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail. 2017-09-04 17:33:48 CLIENT -> SERVER: EHLO localhost 2017-09-04 17:33:48 SERVER -> CLIENT: 250-iuri0153.hospedagemdesites.ws Hello localhost [179.179.222.18] 250-SIZE 52428800 250-8BITMIME 250-PIPELINING 250-AUTH PLAIN LOGIN 250-STARTTLS 250 HELP 2017-09-04 17:33:48 CLIENT -> SERVER: STARTTLS 2017-09-04 17:33:48 SERVER -> CLIENT: 220 TLS go ahead
( ! ) Warning: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in C:\wamp64\www\site\phpmailer\class.smtp.php on line 358
Call Stack
#	Time	Memory	Function	Location
1	0.0016	262240	{main}( )	...\envia_suporte_online.php:0
2	0.0123	1039904	PHPMailer->send( )	...\envia_suporte_online.php:90
3	0.0149	1052176	PHPMailer->postSend( )	...\class.phpmailer.php:1203
4	0.0149	1052880	PHPMailer->smtpSend( )	...\class.phpmailer.php:1323
5	0.0149	1054024	PHPMailer->smtpConnect( )	...\class.phpmailer.php:1486
6	0.0926	1266088	SMTP->startTLS( )	...\class.phpmailer.php:1623
7	0.1168	1266320	stream_socket_enable_crypto ( )	...\class.smtp.php:358
2017-09-04 17:33:48 SMTP Error: Could not connect to SMTP host. 2017-09-04 17:33:48 CLIENT -> SERVER: QUIT 2017-09-04 17:33:48 SERVER -> CLIENT: 2017-09-04 17:33:48 SMTP ERROR: QUIT command failed: 2017-09-04 17:33:48 Connection: closed 2017-09-04 17:33:48 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting Message could not be sent.Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

 

Link para o comentário
Compartilhar em outros sites

  • 0

Ele não está conseguindo verificar o certificado SSL do servidor. Tem certeza que ele usa esse tipo de criptografia?

SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate

Tem certeza que pelo Google Chrome o e-mail é enviado?

Link para o comentário
Compartilhar em outros sites

  • 0
3 horas atrás, Markus Magnus disse:

Ele não está conseguindo verificar o certificado SSL do servidor. Tem certeza que ele usa esse tipo de criptografia?

SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate

Tem certeza que pelo Google Chrome o e-mail é enviado?

Sim, ele usa esse tipo de criptografia e mandou pelo Google Chrome e Opera. Começo dá problema no Firefox depois que implementei essa parte do código.

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        if (array_key_exists('sup_vendas', $_POST)) {
            $body .= "Vendas, ";
        }
        if (array_key_exists('sup_exp_banco', $_POST)) {
            $body .=  "Exportação Banco, ";
        }
        if (array_key_exists('sup_locacao', $_POST)) {
            $body .=  "Locação, ";
        }
        if (array_key_exists('sup_exp_site', $_POST)) {
            $body .=  "Exportação Site, ";
        }
        if (array_key_exists('sup_site', $_POST)) {
            $body .=  "Site, ";
        }
        if (array_key_exists('sup_exp_portal', $_POST)) {
            $body .=  "Exportação Portal, ";
        }
        if (array_key_exists('sup_financeiro', $_POST)) {
            $body .=  "Financeiro, ";
        }
    }
        
    $body .= "<br><strong> Comentários: </strong> $obs;

Ele verifica se os checkboxs foram marcados e imprime no e-mail os motivos do contato.

Link para o comentário
Compartilhar em outros sites

  • 0

Se você tirar o código acima volta a funcionar? Provavelmente não. porque isso deve ter sido coincidência.

O problema está no SSL o PHP é claro nos erros.

Qual o problema?

SMTP Error: Could not connect to SMTP host.

Por que não é possível conectar?

Warning: stream_socket_enable_crypto(): SSL operation failed with code 1.

Onde esta esse erro?

OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in C:\wamp64\www\site\phpmailer\class.smtp.php on line 358

Link para o comentário
Compartilhar em outros sites

  • 0
4 horas atrás, Markus Magnus disse:

Se você tirar o código acima volta a funcionar? Provavelmente não. porque isso deve ter sido coincidência.

O problema está no SSL o PHP é claro nos erros.

Qual o problema?

SMTP Error: Could not connect to SMTP host.

Por que não é possível conectar?

Warning: stream_socket_enable_crypto(): SSL operation failed with code 1.

Onde esta esse erro?

OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in C:\wamp64\www\site\phpmailer\class.smtp.php on line 358

Bom, eu nunca mexi nesse arquivo. Já veio com o PHPMailer. Segue o código de onde está o problema.

public function startTLS()
    {
        if (!$this->sendCommand('STARTTLS', 'STARTTLS', 220)) {
            return false;
        }

        //Allow the best TLS version(s) we can
        $crypto_method = STREAM_CRYPTO_METHOD_TLS_CLIENT;

        //PHP 5.6.7 dropped inclusion of TLS 1.1 and 1.2 in STREAM_CRYPTO_METHOD_TLS_CLIENT
        //so add them back in manually if we can
        if (defined('STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT')) {
            $crypto_method |= STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT;
            $crypto_method |= STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT;
        }

        // Begin encrypted connection
        if (!stream_socket_enable_crypto(
            $this->smtp_conn,
            true,
            $crypto_method
        )) { // <-- O erro aponta para essa linha.
            return false;
        }
        return true;
    }

O comentário aponta a linha do erro.

Link para o comentário
Compartilhar em outros sites

  • 0

Realmente duvido que seja problema no PHPMailer, mas essa função não consegue ser executada será que a criptografia utilizada pelo servidor não é TLS?

Já tentou usar sem criptografia?

Já pesquisou por scripts que enviem emails pelo mesmo servidor?

Já tentou trocar de e-mail?

Link para o comentário
Compartilhar em outros sites

  • 0
4 horas atrás, Markus Magnus disse:

Realmente duvido que seja problema no PHPMailer, mas essa função não consegue ser executada será que a criptografia utilizada pelo servidor não é TLS?

Já tentou usar sem criptografia?

Já pesquisou por scripts que enviem emails pelo mesmo servidor?

Já tentou trocar de e-mail?

Sim, já fiz tudo isso e continuou com o erro.

Link para o comentário
Compartilhar em outros sites

  • 0

Você tem que ver também sobre os erros no JS, se está exibindo aqueles erros, investigue a configuração dos scripts JavaScript. Já no lado do servidor, habilite os logs do PHP e certifique-se de que está mesmo usando sem criptografia SSL/TLS, você pode baixar o PHPMailer: https://github.com/PHPMailer/PHPMailer e fazer um teste do início.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...