Ir para conteúdo

POWERED BY:

Arquivado

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

cinth010

PHPMailer - SMTP connect() failed

Recommended Posts

Gente Alô.

É o seguinte, eu estava praticando php(Sou nova nisso,  comecei hoje) e resolvi criar um pequeno formulario, eu fiz um html básico juntamente com bootstrap e fiz um arquivo PHP para enviar os aquivos para o meu email.

Link para o Site: http://cinthiamsg.pe.hu/

Ao clicar em enviar aparece um erro:
" Warning: mail(/home/u490811097/.logs/php_mail.log): failed to open stream: No such file or directory in /home/u490811097/public_html/enviar.php on line 7"

Não sei o que significa, quem puder me ajudar eu vou mandar as fotos do formulário e do codigo PHP.

Não sei se conta, mas eu uso o servidor Xampp antes de hospedar o site.

 

CODIGO HTML

formhtml.thumb.png.e72da9fedd116edd77146743dbf71ce1.png

 

CODIGO PHP

PHP.thumb.png.f9a4e7e7b3fe593501697545f19320fc.png

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use a Classe PHPMailer para enviar email, a porta que a função mail() usa é por padrão bloqueada em desenvolvimento e clientes de email estão seguindo a mesma regra.

https://github.com/PHPMailer/PHPMailer

 

Com esta classe você pode usar o gmail para testes.

há vários exemplos.

https://github.com/PHPMailer/PHPMailer/tree/master/examples

Só habilite o aplicativo caso for usar o gmail, mas eu prefiro usar o https://mailtrap.io/ para testes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Moço desculpe a demmora, mas eu já tentei esse  PHPMailer e eu não conseguir usar, não exite uma forma de desbloquear a função mail()?

Eu uso o hostinger para hospedar o site.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu esou usando a classe PHPMailer mas está havendo um erro.

Erro no envio do e-mail: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting 

Quem puder  me ajudar.

Link do site: cinthiamsg.pe.hu

Codigo PHP de envio

<?php
	//Dados do formulário
	
	require 'PHPMailer/PHPMailerAutoload.php';
	
	$name = $_POST['name'];		
    $email = $_POST['email'];
    $msg = $_POST['message'];
	$title = 'Cinthia MSG Contato';

	$Mailer = new PHPMailer();
	
	//Define que será usado SMTP
	$Mailer->IsSMTP();
	
	//Enviar e-mail em HTML
	$Mailer->isHTML(true);
	
	//Aceitar carasteres especiais
	$Mailer->Charset = 'UTF-8';
	
	//Configurações
	$Mailer->SMTPAuth = true;
	$Mailer->SMTPSecure = 'ssl';
	
	//nome do servidor
	$Mailer->Host = 'ftp.cinthiamsg.pe.hu';

	//Porta de saida de e-mail 
	$Mailer->Port = 465;
	
	//Dados do e-mail de saida - autenticação
	$Mailer->Username = '03750bf9a4-5a09a7@inbox.mailtrap.io';
	$Mailer->Password = '33c2d4c2006de9';
	
	//E-mail remetente (deve ser o mesmo de quem fez a autenticação)
	$Mailer->From = '03750bf9a4-5a09a7@inbox.mailtrap.io';
	
	//Nome do Remetente
	$Mailer->FromName = $name;
	
	//Assunto da mensagem
	$Mailer->Subject = $title;
	
	//Corpo da Mensagem
	$Mailer->Body = $msg;
	
	//Corpo da mensagem em texto
	$Mailer->AltBody = 'conteudo do E-mail em texto';
	
	//Destinatario 
	$Mailer->AddAddress('meuemail@gmail.com');
	
	if($Mailer->Send()){
		echo "E-mail enviado com sucesso";
	}else{
		echo "Erro no envio do e-mail: " . $Mailer->ErrorInfo;
	}
	
?>

EU também estou em dúvida no campo de nome do servidor onde pede o host.

Coloca o do site que e: ftp.cinthiamsg.pe.hu

OU o do email: smtp.mailtrap.io

EStou usando um email do mailtrap, o hostinger par hospedar o site e a classe PHPMailer.

Compartilhar este post


Link para o post
Compartilhar em outros sites
6 horas atrás, cinth010 disse:

EU também estou em dúvida no campo de nome do servidor onde pede o host.

Coloca o do site que e: ftp.cinthiamsg.pe.hu

OU o do email: smtp.mailtrap.io

 

Se funcionar, será sempre com a segunda opção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Add ai...

 

<?php

....
.... 

$Mailer->SMTPDebug = 3;

//Destinatario 
$Mailer->AddAddress('meuemail@gmail.com');

if($Mailer->Send()){
	echo "E-mail enviado com sucesso";
}else{
	echo "Erro no envio do e-mail: " . $Mailer->ErrorInfo;
}

https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#enabling-debug-output

 

10538735_684673774920943_496204375_a.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites
11 horas atrás, cinth010 disse:

EU também estou em dúvida no campo de nome do servidor onde pede o host.

Coloca o do site que e: ftp.cinthiamsg.pe.hu

OU o do email: smtp.mailtrap.io

EStou usando um email do mailtrap, o hostinger par hospedar o site e a classe PHPMailer.

 

Servidor de FTP é uma coisa, servidor de email é outra. Logo, se você está tratando de envio de email, o lógico seria você utilizar informações que fazem referência ao servidor de email.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo então eu mudei o host para o do email e adicionei o a linha de código 

$Mailer->SMTPDebug = 3;

e apareceu o seguinte erro:

Notice: Undefined index: name in /opt/lampp/htdocs/contato/enviar.php on line 6
2017-03-01 14:33:13 Connection: opening to ssl://smtp.mailtrap.io:465, timeout=300,
options=array ( ) 2017-03-01 14:37:30 Connection: Failed to connect to server.
Error number 2. "Error notice: stream_socket_client(): unable to connect to ssl://smtp.mailtrap.io:465 
(Tempo esgotado para conexão) 2017-03-01 14:37:30 
SMTP ERROR: Failed to connect to server: Tempo esgotado para conexão (110) 2017-03-01 14:37:30 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting 
Erro no envio do e-mail: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting 

E agora?

me desculpem por ficar pedindo ajuda direto eu sou nova com essas coisas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

As credenciais estão corretas? Confirmou se está ativo o E-mail? efetuou um E-mail disparo teste pelo Client?

Você consegue utilizar o E-mail via client?

 

Qualquer duvida você pode pedir para o suporte utilizando a técnica desse post:

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se esta utilizando o mailtrap.io para testes.

 

Clique no nome da box e ira gerar o modelo de exemplo

Selecione wordpress, que usa as mesma configurações do phpmailer


Exemplo

ou can configure WordPress SMTP by using this code:

function mailtrap($phpmailer) {
  $phpmailer->isSMTP();
  $phpmailer->Host = 'smtp.mailtrap.io';
  $phpmailer->SMTPAuth = true;
  $phpmailer->Port = 2525;
  $phpmailer->Username = '8f01a**********';
  $phpmailer->Password = '5*******83fd';
}

add_action('phpmailer_init', 'mailtrap');


A forma como esta fazendo esta errada, e mailtrap.io é só testes, não vai enviar para gmail, vai simular somente, corrigiu tudo, testou ai sim faça para o seu servidor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Por favor, me permita tirar uma dúvida com os amigos.

      Tenho um Formulário onde o Usuário digita todos os Dados necessários.

      Minha dúvida:
      --> como faço após o usuário digitar os dados e salvar, o Sistema chamar uma Modal ou mensagem perguntando se deseja imprimir agora ?

      Grato,
       
      Cesar
    • Por Carcleo
      Tenho uma abela de usuarios e uma tabela de administradores e clientes.
      Gostaria de uma ajuda para implementar um cadastro
       
      users -> name, login, passord (pronta) admins -> user_id, registratiom, etc.. client -> user_id, registratiom, etc...
      Queria ajuda para extender de user as classes Admin e Client
      Olhem como estáAdmin
      <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Admin extends User {     use HasFactory;            protected $fillable = [         'name',         'email',         'password',         'registration'     ];      private string $registration;     public function create(         string $name,          string $email,          string $password,         string $registration     )     {         //parent::create(['name'=>$name, 'email'=>$email, 'password'=>$password]);         parent::$name = $name;         parent::$email = $email;         parent::$password = $password;         $this->registration = $registration;     } } User
      <?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Database\Eloquent\Relations\BelongsToMany; class User extends Authenticatable {     /** @use HasFactory<\Database\Factories\UserFactory> */     use HasFactory, Notifiable;     static string $name;     static string $email;     static string $password;     /**      * The attributes that are mass assignable.      *      * @var list<string>      */     protected $fillable = [         'name',         'email',         'password',     ];          /**      * The attributes that should be hidden for serialization.      *      * @var list<string>      */     protected $hidden = [         'remember_token',     ];     /**      * Get the attributes that should be cast.      *      * @return array<string, string>      */     protected function casts(): array     {         return [             'email_verified_at' => 'datetime',             'password' => 'hashed',         ];     }          public function roles() : BelongsToMany {         return $this->belongsToMany(Role::class);     }       public function hasHole(Array $roleName): bool     {                 foreach ($this->roles as $role) {             if ($role->name === $roleName) {                 return true;             }         }         return false;     }         public function hasHoles(Array $rolesName): bool     {                 foreach ($this->roles as $role) {             foreach ($rolesName as $rolee) {             if ($role->name === $rolee) {                 return true;             }          }         }         return false;     }         public function hasAbility(string $ability): bool     {         foreach ($this->roles as $role) {             if ($role->abilities->contains('name', $ability)) {                 return true;             }         }         return false;     }     } Como gravar um Admin na tabela admins sendo que ele é um User por extensão?
      Tentei assim mas é claro que está errado...
      public function store(Request $request, Admin $adminModel) {         $dados = $request->validate([             "name" => "required",             "email" => "required|email",             "password" => "required",             "registration" => "required"         ]);         $dados["password"] =  Hash::make($dados["password"]);                  $admin = Admin::where("registration",  $dados["registration"])->first();                  if ($admin)              return                    redirect()->route("admin.new")                             ->withErrors([                                 'fail' => 'Administrador já cadastrados<br>, favor verificar!'                   ]);                            $newAdmin = $adminModel->create(                                    $dados['name'],                                    $dados['email'],                                    $dados['password'],                                    $dados['registration']                                 );         dd($newAdmin);         $adminModel->save();         //$adminModel::create($admin);                  return redirect()->route("admin.new")->with("success",'Cadastrado com sucesso');     }  
    • Por violin101
      Caros amigos, saudações.
       
      Gostaria de tirar uma dúvida com os amigos, referente a PDV.
       
      Estou escrevendo um Sistema com Ponto de Vendas, a minha dúvida é o seguinte, referente ao procedimento mais correto.

      Conforme o caixa vai efetuando a venda, o Sistema de PDV já realiza:
      a baixa direto dos produtos no estoque
      ou
      somente após concretizar a venda o sistema baixa os produtos do estoque ?
       
      Grato,
       
      Cesar
       
    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
×

Informação importante

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