Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Configuração de proxy para envio de email usando ZendFramework

Prezados,

Como configurar o zendFramework para utilizar proxy?

No Curso  ensina o envio de email, mas se eu precisar do proxy como e onde configurar?

Segue meu código. IndexController.php

if($this->request->isPost()) { $nome = $this->request->getPost('nome'); $email = $this->request->getPost('email'); $msg = $this->request->getPost('msg');

            $msgHtml = "
                <b>Nome:</b> {$nome},<br>
                <b>Email:</b> {$email},<br>
                <b>Mensagem:</b> {$msg}
            ";
            $htmlPart = new MimePart($msgHtml);
            $htmlPart->type= 'text/html';

            $htmlMsg = new MimeMessage();
            $htmlMsg->addPart($htmlPart);

            $email = new Message();
            $email->addTo('meuemail@xxx.com.br');
            $email->setSubject('Contato feito pelo site');
            $email->addFrom('meuemail@xxx.com.br');

            $email->setBody($htmlMsg);

            $config = array(

                'host' => 'smtp.gmail.com',
                'connection_class'  => 'login',
                'connection_config' => array(
                    'ssl'       => 'tls',
                    'username' => 'meuemail@xxx.com.br',
                    'password' => 'xxxxxx'
                    ),
                'port' => 587,
        );
            $transport = new SmtpTransport();
            $options = new SmtpOptions($config);
            $transport->setOptions($options);

            $transport->send($email);

            $this->flashMessenger()->addMassenge('Email enviado com sucesso.');

            return $this->redirect()->toURL('/Index');
4 respostas

Oi Henrique, tudo bom?

Qual é a ideia especificamente na utilização de proxy com e-mail?

Você tem algum exemplo de uso específico? O que rola hoje e o que deveria rolar?

Um ponto importante, no seu código a chamada do método addMessage está incorreto:

            $this->flashMessenger()->addMassenge('Email enviado com sucesso.');

Deveriamos ter algo como:

$this->flashMessenger()->addMessage('Email enviado com sucesso.');

tirando isso não encontrei nenhum problema no código especificamente.

Abraço

Estou tentando enviar o email para meu usuario do gmail e recebo a mensagem abaixo

Additional information: Zend\Mail\Protocol\Exception\RuntimeException File: C:\sistemas\Estoque\Skeleton-Application\vendor\zendframework\zendframework\library\Zend\Mail\Protocol\AbstractProtocol.php:327 Message: 5.7.8 Username and Password not accepted. Learn more at 5.7.8 https://support.google.com/mail/?p=BadCredentials 131sm4555902qkg.1 - gsmtp

E meu usuário e senha estão corretos, pois estou com meu email aberto.

solução!

Estranho, você já verificou no seu gmail se está habilitada a opção de apps menos seguros? As vezes o gmail não libera a conexão sem essa opção habilitada

Funcionou.

Muito obrigado

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software