Pessoal, boa tarde. Ao tentar enviar um e-mail um erro abaixo é mostrado. Falhou ao enviar o comando AUTH LOGIN. Erro: Não foi possível enviar o email utilizando PHP SMTP. Talvez o seu servidor não esteja configurado para enviar emails utilizando este método.
Abaixo código da configuração do e-mail.
// Carrega a library email
//Recupera os dados do formulário
$dados = $this->input->post();
$config['protocol'] = 'smtp'; // define o protocolo utilizado
$config['smtp_host'] = "smtp.live.com";
$config['smtp_user'] = "meuemail@hotmail.com";
$config['smtp_pass'] = "minhasenha";
$config['smtp_port'] = "587";
//Inicia o processo de configuração para o envio do email
$config['wordwrap'] = TRUE; // define se haverá quebra de palavra no texto
$config['newline'] = "\r\n";
$config['crlf'] = "\r\n";
$config['charset'] = 'UTF-8';
/*
* Se o usuário escolheu o envio com template, define o 'mailtype' para html,
* caso contrário usa text
*/
if(isset($dados['template']))
$config['mailtype'] = 'html';
else
$config['mailtype'] = 'text';
$this->load->library('email',$config);
// Inicializa a library Email, passando os parâmetros de configuração
$this->email->initialize($config);
// Define remetente e destinatário
$this->email->from('emaildestino@hotmail.com', 'Remetente'); // Remetente
$this->email->to($dados['email'],$dados['nome']); // Destinatário
// Define o assunto do email
$this->email->subject('Enviando emails com a library nativa do CodeIgniter');
/*
* Se o usuário escolheu o envio com template, passa o conteúdo do template para a mensagem
* caso contrário passa somente o conteúdo do campo 'mensagem'
*/
if(isset($dados['template']))
$this->email->message($this->load->view('Login/email-template',$dados, TRUE));
else
$this->email->message($dados['mensagem']);
/*
* Se foi selecionado o envio de um anexo, insere o arquivo no email
* através do método 'attach' da library 'Email'
*/
if(isset($dados['anexo']))
$this->email->attach('./assets/images/unici/logo.png');
/*
* Se o envio foi feito com sucesso, define a mensagem de sucesso
* caso contrário define a mensagem de erro, e carrega a view home
*/
if($this->email->send())
{
$this->session->set_flashdata('success','Email enviado com sucesso!');
$this->load->view('Login/Formulario_Senha');
}
else
{
$this->session->set_flashdata('error',$this->email->print_debugger());
$this->load->view('Login/Formulario_Senha');
}
Os dados para envio da mensagem vem deste formulário.
<?php if ($this->session->flashdata('success') == TRUE): ?>
<div><?= $this->session->flashdata('success'); ?></div>
<?php endif; ?>
<?php if ($this->session->flashdata('error') == TRUE): ?>
<div><?= $this->session->flashdata('error'); ?></div>
<?php endif; ?>
<form method="POST" action="<?=base_url('index.php/enviar-email')?>">
<div>
<label>Seu nome</label>
<input type="text" name="nome" required/>
</div>
<div>
<label>Seu email</label>
<input type="email" name="email" required/>
</div>
<div>
<label>Uma mensagem pra você</label>
<textarea name="mensagem" rows="6" required></textarea>
</div>
<div>
<label><input type="checkbox" name="anexo"/><strong>Enviar anexo</strong></label>
</div>
<div>
<label><input type="checkbox" name="template"/><strong>Usar template</strong></label>
</div>
<div>
<input type="submit" value="Enviar"/>
</div>
</form>