Ir para conteúdo

Arquivado

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

mattwaster

Erro ao enviar e-mail

Recommended Posts

Bom dia !

 

Estou com problemas no envio de informações por um de meus formulários, o seguinte erro aparece

 

Citar

Não foi possível enviar o e-mail. Informações do erro: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

 

Segue código do enviarEmail :

 

<?php


// Inclui o arquivo class.phpmailer.php localizado na pasta phpmailer
require("phpmailer/class.phpmailer.php");
require("phpmailer/PHPMailerAutoload.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 = "smtp.wisewood.eco.br"; // Endereço do servidor SMTP (caso queira utilizar a autenticação, utilize o host smtp.seudomínio.com.br)
$mail->Host = "smtp.gmail.com.br";
$mail->SMTPAuth = true; // Usar autenticação SMTP (obrigatório para smtp.seudomínio.com.br)
$mail->SMTPSecure = tls; // Protocolo de Segurança (Anteriormente estava sem)
$mail->Username = 'webmaster@wisewood.com.br'; // Usuário do servidor SMTP (endereço de email)
$mail->Password = 'xxxxxx'; // Senha do servidor SMTP (senha do email usado)
$mail->Port = "587";
// Define o remetente
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->From = "webmaster@wisewood.com.br"; // Seu e-mail
$mail->Sender = "webmaster@wisewood.com.br"; // Seu e-mail
$mail->FromName = "Site"; // Seu nome

// Define os destinatário(s)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->AddAddress('comercial@wise.eco.br', 'webmaster@wisewood.com.br');
$mail->AddAddress('webmaster@wisewood.com.br');
//$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)
$mail->CharSet = 'utf-8'; // Charset da mensagem (opcional)

// Define a mensagem (Texto e Assunto)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=



$tipoformulario=$_POST['tipoformulario'];

if ($tipoformulario=="fornecedor") {
	$mail->Subject  = "Contato de fornecedor pelo site "; // Assunto da mensagem
	$nome=$_POST['nome'];
	$email=$_POST['email'];
	$telefone=$_POST['telefone'];
	$celular=$_POST['celular'];
	$empresa=$_POST['empresa'];
	$endereco=$_POST['endereco'];
	$cidade=$_POST['cidade'];
	$uf=$_POST['uf'];
	$cep=$_POST['cep'];
	$outros=$_POST['outros'];

	$newfornecimento="";
	foreach($_POST["fornecimento"] as $fornecimento)
	{
		$newfornecimento .= $fornecimento ." | ";

	}

	$mensagem = "
	Nome completo: ". $nome ." <br>
	Email: ". $email ."<br>
	Telefone: ". $telefone ."<br>
	Celular: ". $celular ."<br>
	Empresa: ". $empresa ."<br>
	Endereço: ". $endereco ."<br>
	Cidade: ". $cidade ."<br>
	UF: ". $uf ."<br>
	CEP: ". $cep."<br>
	fornecimento: ". $newfornecimento ."<br>
	Outros: ". $outros ."<br>

	";
	$redirecionamento = "fornecedores.php";

}elseif ($tipoformulario=="contato") {
	$mail->Subject  = "Contato pelo site "; // Assunto da mensagem
	$nome=$_POST['nome'];
	$email=$_POST['email'];
	$telefone=$_POST['telefone'];
	$empresa=$_POST['empresa'];
	$assunto=$_POST['assunto'];
	$texto=$_POST['mensagem'];

	$mensagem = "
	Nome completo: ". $nome ." <br>
	Email: ". $email ."<br>
	Telefone: ". $telefone ."<br>
	Empresa: ". $empresa ."<br>
	Assunto: ". $assunto ."<br>
	texto: ". $texto ."<br>

	";

	$redirecionamento = "contato.php";

}elseif ($tipoformulario=="sobmedida") {
	$mail->Subject  = "Contato pelo site (sobmedida) "; // Assunto da mensagem
	$nome=$_POST['nome'];
	$email=$_POST['email'];
	$empresa=$_POST['empresa'];
	$texto=$_POST['mensagem'];

	$mensagem = "
	Nome completo: ". $nome ." <br>
	Email: ". $email ."<br>
	Empresa: ". $empresa ."<br>
	texto: ". $texto ."<br>

	";

	$redirecionamento = "sobmedida.php";
}





$mail->Body = $mensagem;
$mail->AltBody = $nome;

// Define os anexos (opcional)
//$mail->AddAttachment("img/back.jpg", "back.jpg");  // Insere um anexo

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

// Limpa os destinatários e os anexos
$mail->ClearAllRecipients();
$mail->ClearAttachments();

// Exibe uma mensagem de resultado
if ($enviado) {
	echo "E-mail enviado com sucesso!";
	header("location:". $redirecionamento. "");
} else {
	echo "Não foi possível enviar o e-mail.
	
	";
	echo "Informações do erro: 
	" . $mail->ErrorInfo;
}

?>

 

Alguém pode me ajudar ? 

Compartilhar este post


Link para o post
Compartilhar em outros sites

SMTP connect() failed. 

 

Seu proprio erro já diz o que está acontecendo.

A conexão SMTP falhou. Motivos:

 

Dados incorretos de conexão

 

Revise os dados de endereço smtp, porta, usuario, senha... 
Enquanto os seus dados de conexão estiverem errados, isso vai seguir acontecendo.

 

Pergunte ao seu Host (servidor web) quais são os dados de conexão do email via smtp

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu consigo essas informações com o pessoal da hospedagem ? 

Esse código não foi desenvolvido por mim, portanto não tenho conhecimento de nenhum login ou senha...

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Por favor, me perdoa em postar mais uma dúvida minha.

      Através de ajuda e orientação dos membros do Grupo, tenho conseguido resolver muitos problemas que tenho encontrado.
       
      Gostaria de saber dos amigos do grupo, se tem algum vídeo aula, orientando a Instalação das Biblioteca para Emissão de Nota Fiscal Eletrônica.
       
      Tenho feito várias busca e tenho encontrado a maioria das vezes tudo em LARAVEL.

      Sei que para instalar as Biblioteca, precisa do Composer, até aqui tudo bem.

      Minha dúvida: 
      após fazer o download da  sped-nfe  e  sped-da, essas biblioteca devem ser gravada em qual pasta ?  ----   na C:\  ou dentro da pasta do Sistema ?
      quando dou o comando: COMPOSER INSTALL esse comando já instala todas as bibliotecas, ou 1 por 1 ?

      Grato,
       
      Cesar
       
    • Por violin101
      Caros amigos, saudações.

      Estou com uma dúvida e gostaria do auxílio dos amigos.
       
      Gostaria de após o usuário digitar o Número do Pedido/Orçamento o Sistema Importa todos os Dados para a Entrada/Venda de Produtos.
       
      Exemplo:
      Pedido n.102 com os itens:
        10 un Produto X - vr_unit: 5.00
        05 un Produto Y - vr_unit: 3.00
        03 un Produto Z - vr_unit: 1.50
       
      Importar para Entrada/Venda
      Venda n.1001
      |__> como importo os dados do Pedido n.102 de uma só vez ?
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Tenho uma tabela em HTML, que me traz as informações de parcelamento corretamente.
       
      Preciso fazer uma validação, mas quando tento somar a coluna que traz valor, a soma faz errada.
       
      Como devo fazer para SOMAR a coluna mostrando as casas decimais ?

      a tabela está assim:
      success: function(parcelas) { const tbody = $("#tbparcs tbody"); tbody.empty(); // Limpa a tabela antes de adicionar novas linhas parcelas.forEach(function(parcela) { let html = "<tr>"; html += "<td width='20%' height='10'style='text-align:center;'><input type='date' name='dtaprc[]' class='form-control d-none' value='"+dateSQL(parcela.data_vencimento)+"'><span>"+parcela.data_vencimento+"</span></td>"; <!--Quero somar essa coluna --> html += "<td width='50%' height='10' style='text-align:center;'><input type='text' name='vlrprc[]' class='form-control d-none' value='"+parcela.valor_parcela+"' oninput='formatNumber(this)'><span>"+parcela.valor_parcela+"</span></td>"; html += "<td width='15%' height='10' style='text-align:center;'>"+ "<button onclick='editarCelulaParcelamento(this)' type='button' class='btn btn-primary btn-editar-parc' style='margin-right: 1%; padding: 1px 2px;' title='Editar'>"+ "<i class='fa fa-edit'></i></button>"+ "<button type='button' data-save class='btn btn-success btn-salvar-parc' style='margin-right: 1%; padding: 1px 5px;' title='Salvar'>"+ "<i class='fa fa-save'></i></button>"+ "</td>"; html += "</tr>"; tbody.append(html); somarparcelas(); }); }  
      a função para somar a coluna está assim:
       
      //Função somar Total da Tabela function somarparcelas(){ parcelastotal = 0; //Preenche o INPUT do parcelastotal $("#tbparcs tbody tr").each(function(){ parcelastotal = parcelastotal + parseFloat($(this).find("td:eq(1)").text()); }); $("input[name=parcelastotal]").val(parcelastotal.toFixed(2)); } //o problema que estou encontrando está no parseFloat. //o parseFloat traz: 12 e não 12.57  
       
      Grato,
       
      Cesar
       
    • Por violin101
      Caros amigos, saudações.
       
      Tenho uma tabela em HTML, que me traz as informações de parcelamento corretamente.
       
      Preciso fazer uma validação, mas quando tento somar a coluna que traz valor, a soma faz errada.
       
      Como devo fazer para SOMAR a coluna mostrando as casas decimais ?

      a tabela está assim:
      success: function(parcelas) { const tbody = $("#tbparcs tbody"); tbody.empty(); // Limpa a tabela antes de adicionar novas linhas parcelas.forEach(function(parcela) { let html = "<tr>"; html += "<td width='20%' height='10'style='text-align:center;'><input type='date' name='dtaprc[]' class='form-control d-none' value='"+dateSQL(parcela.data_vencimento)+"'><span>"+parcela.data_vencimento+"</span></td>"; <!--Quero somar essa coluna --> html += "<td width='50%' height='10' style='text-align:center;'><input type='text' name='vlrprc[]' class='form-control d-none' value='"+parcela.valor_parcela+"' oninput='formatNumber(this)'><span>"+parcela.valor_parcela+"</span></td>"; html += "<td width='15%' height='10' style='text-align:center;'>"+ "<button onclick='editarCelulaParcelamento(this)' type='button' class='btn btn-primary btn-editar-parc' style='margin-right: 1%; padding: 1px 2px;' title='Editar'>"+ "<i class='fa fa-edit'></i></button>"+ "<button type='button' data-save class='btn btn-success btn-salvar-parc' style='margin-right: 1%; padding: 1px 5px;' title='Salvar'>"+ "<i class='fa fa-save'></i></button>"+ "</td>"; html += "</tr>"; tbody.append(html); somarparcelas(); }); }  
      a função para somar a coluna está assim:
       
      //Função somar Total da Tabela function somarparcelas(){ parcelastotal = 0; //Preenche o INPUT do parcelastotal $("#tbventas tbody tr").each(function(){ parcelastotal = parcelastotal + parseFloat($(this).find("td:eq(1)").text()); }); $("input[name=parcelastotal]").val(parcelastotal.toFixed(2)); } //o problema que estou encontrando está no parseFloat. //o parseFloat traz: 12 e não 12.57  
       
      Grato,
       
      Cesar
       
    • Por violin101
      Olá amigos, saudações.

      Após ajuda dos amigos do forum, consegui uma Rotina que estava precisando.
      Infelizmente após gerar o parcelamento com suas datas de vencimento, quando SALVA no MySql o campo data salva assim 0000-00-00, mesmo contendo datas de vencimentos.

      Como consigo salvar no campo vencimento as DATAS corretamente ?
       
      O Código fico assim:
      Controller
      function adicionar() { if (!$this->permission->checkPermission($this->session->userdata('permissao'), 'aLancamento')) { $this->session->set_flashdata('error', 'Você não tem permissão para adicionar lançamento.'); redirect(base_url()); } //Recebe via POST Dados do Lançamento $codEmpr = $this->input->post('idEmp'); $dataLct = $this->input->post('dtaentr'); $notaLct = $this->input->post('num_nf'); //Recebe via POST os Produtos - Entrada de Lançamentos $id_prds = $this->input->post("id_prds"); $qtde = $this->input->post("qtde"); $estoq = $this->input->post("estoq"); $vlrunit = $this->input->post("vlrunit"); $vlrtotal = $this->input->post("vlrtotal"); //Recebe via POST os Parcelamento $dtaprc = $this->input->post("dtaprc"); $vlrprc = $this->input->post("vlrprc"); $idFrnc = $this->input->post('idfornecedor'); $this->load->library('form_validation'); $this->data['custom_error'] = ''; if ($this->form_validation->run('lancamentos') == false) { $this->data['custom_error'] = (validation_errors() ? '<div class="form_error">' .validation_errors(). '</div>' : false); } else { $data = array( 'dtalcto' => date('Y-m-d'), 'dtaentr' => $this->input->post('dtaentr'), 'num_nf' => set_value('num_nf'), 'tipo_lcto' => 1, 'id_user' => $this->session->userdata('id'), //pega o ID do Usuário logado 'id_empresas' => $this->input->post('idEmp'), //pega o ID do Empresa logado 'fornecedor_idfornecedor' => $this->input->post('idfornecedor') ); if ($this->lancamentos_model->add('lancamentos', $data) == true) { //Função para Pegar o Último ID do lançamento $numlcto = $this->lancamentos_model->lastID(); //Função para Salvar os Itens do lançamento $this->save_detalhe($id_prds,$qtde,$vlrunit,$vlrtotal,$numlcto); //Função para Salvar Parcelamento $this->save_parcelas($notaLct,$dtaprc,$vlrprc,$idFrnc); //Converte o ID em String $strlcto = strval($numlcto); $strEmpr = strval($codEmpr); $pegEmpr = str_pad($strEmpr, '3', '0', STR_PAD_LEFT); $mostra = 'E-'.$pegEmpr.'.'.$strlcto; //Chama a Função para Alterar o ID do lançamento $this->update_lctos($numlcto,$strlcto,$strEmpr); //Função para Salvar Histórico do Produto $this->save_hist($dataLct,$qtde,$estoq,$mostra,$notaLct,$id_prds,$codEmpr); $this->session->set_flashdata('success', '<h4>Lançamento nº.'.$mostra.' - adicionado com Sucesso.</h4>'); redirect(base_url() . 'admin/lancamentos/visualizar/'.$numlcto); } else { $this->data['custom_error'] = '<div class="form_error"><p><h4>Atenção!!! Ocorreu um erro ao tentar adicionar.</h4></p></div>'; } } $this->load->view('estilo/header', $this->data); $this->load->view('admin/lancamentos/adicionarLancamento'); } //Função para Salvar os Parcelamentos protected function save_parcelas($notaLct,$dtaprc,$vlrprc,$idFrnc){ for ($i=0; $i < count($vlrprc); $i++) { $data = array( 'nunNotafiscal' => $notaLct, 'dataVencimento' => $dtaprc[$i], //aqui salva 0000-00-00 'valorParcela' => $vlrprc[$i], 'id_fornecedor' => $idFrnc, 'id_user'=> $this->session->userdata('id'), ); //Função para Salvar os Detalhes do Parcelamento $this->lancamentos_model->save_parcelas($data); } } public function geraParcelamento() { if ($_SERVER['REQUEST_METHOD'] === 'POST') { $dataInicial = new DateTime($_POST['dataInicial']); $intervalos = explode('/', $_POST['intervalos']); $valorTotal = floatval($_POST['valorTotal']); function gerarParcelas($dataInicial, $intervalos, $valorTotal) { $datasParcelas = []; $quantidadeParcelas = count($intervalos); $valorParcela = floor($valorTotal / $quantidadeParcelas * 100) / 100; $valorUltimaParcela = $valorTotal - ($valorParcela * ($quantidadeParcelas - 1)); for ($i = 0; $i < $quantidadeParcelas; $i++) { if ($i == $quantidadeParcelas - 1) { $valorAtualParcela = $valorUltimaParcela; } else { $valorAtualParcela = $valorParcela; } $dataVencimento = clone $dataInicial; $dataVencimento->modify("+{$intervalos[$i]} days"); $datasParcelas[] = [ 'data_vencimento' => $dataVencimento->format('d/m/Y'), 'valor_parcela' => number_format($valorAtualParcela, 2, ',', '.') ]; } return $datasParcelas; } $parcelas = gerarParcelas($dataInicial, $intervalos, $valorTotal); header('Content-Type: application/json'); echo json_encode($parcelas); } }  
      Models
      //Salva Parcelamento public function save_parcelas($data){ $this->db->insert("faturamento",$data); }  
      View
      //Esta função tras correto o parcelamento function gerarParcelas() { const dataInicial = $('#dtaentr').val(); const intervalos = $('#formaPgto').val(); const valorTotal = $('#subtotal').val(); $.ajax({ url: '<?=base_url()?>admin/lancamentos/geraParcelamento', type: 'POST', dataType: 'json', data: { dataInicial: dataInicial, intervalos: intervalos, valorTotal: valorTotal }, success: function(parcelas) { const tbody = $("#tbparcs tbody"); tbody.empty(); // Limpa a tabela antes de adicionar novas linhas parcelas.forEach(function(parcela) { let html = "<tr>"; html += "<td width='10%' height='10'><input type='hidden' name='dtaprc[]' value='"+parcela.data_vencimento +"'>"+parcela.data_vencimento +"</td>"; html += "<td width='32%' height='10'><input type='hidden' name='vlrprc[]' value='"+parcela.valor_parcela+"'>"+parcela.valor_parcela+"</td>"; html += "<td width='10%' height='10' style='text-align:center;'>"+ "<button type='button' class='btn btn-primary btn-editar-parc' style='margin-right: 1%; padding: 1px 2px;' title='Editar'>"+ "<span class='fa fa-edit'></span></button>"+ "<button type='button' class='btn btn-success btn-salvar-parc' style='margin-right: 1%; padding: 1px 5px;' title='Salvar'>"+ "<span class='fa fa-save'></span></button>"+ "</td>"; html += "</tr>"; tbody.append(html); }); } }); }

       
×

Informação importante

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