Bem vindo ao brockdev.com, não seja tímido compartilhe suas duvidas e conhecimento. :D

Magento 1.9 não envia e-mails de Pedidos e nem comentarios [Resolvido]

mineiroxd Usuario Cadastrado
editado April 29 em Desenvolvimento
Olá pessoal, queria dividir com toda a comunidade magento um problema que passei essa semana com os e-mails da versão 1.9 do magento, onde todos os emails que saia do magento iam, menos os do pedido, então como todo leigo, foi pesquisar na internet, e achei bastante tutoriais, mas a maioria não consegui resolver definitivamente seu problema, e inclusive o meu não foi solucionado com os conteúdos que pesquisei, então pegando um pouco dali e um pouco daqui, consegui criar uma sequencia de procedimentos que resolve todo e qualquer problema de e-mails dessa versão, então vamos ao que precisamos:

Comentários

  • mineiroxd Usuario Cadastrado
    1 . Certificar se a Função mail() do seu servidor esta ativa, para isso
    coloque um arquivo phpinfo.php dentro da raiz da sua hospedagem e rode o
    arquivo, abra a pesquisa do seu navegador e procure sobre essa função,
    ao encontrar certifique se ela esta ENABLE, caso não esteja não se
    preocupe, talvez não seja esse o seu problema.

    2. Certifique que todos os Envios de Emails dentro do magento estão configurado, para isso confira as seguintes linhas:
    Panel>Sistema>Configuração>
    Aba Geral clique em Emails de Contato
    Aba Catalogo clique em Envie a um amigo
    Aba Vendas, Email de Vendas
    Aba
    Avançado>Sistema>Configurações de Envio de Email (Insira em
    "Servidor" o servidor smtp do seu provedor de email, junto com a porta
    de conexão).

    3. Instalação do modulo SMTPpro através do link:
    http://www.magentocommerce.com/magento-connect/smtp-pro-email-free-custom-smtp-email.html
    ao termino da instalação você deve configura-lo, entre em Sistema>Configuração>Aba ASCHRODER EXTENSIONS>SNTP Pro
    seguindo essas configurações:
    Email Connection: Custom SMTP (verificar seu provedor)
    Autenticação: Entrar
    Nome de usuário: abc@abc.com (colocar seu email)
    Senha: 123 (colocar sua senha
    Servidor: smtp.abc.com.br (seu servidor smtp)
    Porta: 25 ou 587 (verificar seu provedor)
    Segurança SSL: Sem SSL (verificar com o provedor)

    Clique
    na Aba "Logging and Debugging" e marque sim na opção "Log Emails" e
    Clean Emails Logs" você pode estipular um limite de log de emails na
    opção "Email Log Days Kept"

    Até aqui se tudo foi configuração
    como está, faça um teste e verifica se os emails de pedido do cliente,
    fatura, entrega newlitter e fale conosco, para conferir se os e-mails
    estão saindo do magento para seus clientes, visualize os logs de envio
    na opção Sistema>Ferramenta>SMTPpro - Emails log
    aqui vai conter os emails que sairam do magento pelo banckend ou frontend.

    Se mesmo assim todos os emails são enviado menos os de pedido e comentário, faça a seguinte alteração:

  • mineiroxd Usuario Cadastrado
    3. Alteração nos arquivos do magento para envio do Pedido

    Antes de tudo faça backup!

    Faça uma cópia do arquivo:

    app/code/core/Mage/Sales/Model/Order.php

    Para

    app/code/local/Mage/Sales/Model/Order.php

    (Se os diretório não existirem, crie.)

    Procure o trecho abaixo no arquivo que você criou a cópia:

    Deve estar na linha 1337

    // Set all required params and send emails
            $mailer->setSender(Mage::getStoreConfig(self::XML_PATH_EMAIL_IDENTITY, $storeId));
            $mailer->setStoreId($storeId);
            $mailer->setTemplateId($templateId);
            $mailer->setTemplateParams(array(
                'order'        => $this,
                'billing'      => $this->getBillingAddress(),
                'payment_html' => $paymentBlockHtml
            ));

            /** @var $emailQueue Mage_Core_Model_Email_Queue */
            $emailQueue = Mage::getModel('core/email_queue');
            $emailQueue->setEntityId($this->getId())
                ->setEntityType(self::ENTITY)
                ->setEventType(self::EMAIL_EVENT_NAME_NEW_ORDER)
                ->setIsForceCheck(!$forceMode);

            $mailer->setQueue($emailQueue)->send();

            $this->setEmailSent(true);
            $this->_getResource()->saveAttribute($this, 'email_sent');

            return $this;
        }

    Substitua por essa, respeitando as }:


            // Set all required params and send emails
            $mailer->setSender(Mage::getStoreConfig(self::XML_PATH_EMAIL_IDENTITY, $storeId));
            $mailer->setStoreId($storeId);
            $mailer->setTemplateId($templateId);
            $mailer->setTemplateParams(array(
                'order'        => $this,
                'billing'      => $this->getBillingAddress(),
                'payment_html' => $paymentBlockHtml
            )
            );

            $mailer->send();

            $this->setEmailSent(true);
            $this->_getResource()->saveAttribute($this, 'email_sent');

            return $this;
        }

    Novamente procure o trecho abaixo no arquivo que você criou a cópia:

    Deve estar na linha 1425
            // Set all required params and send emails
            $mailer->setSender(Mage::getStoreConfig(self::XML_PATH_UPDATE_EMAIL_IDENTITY, $storeId));
            $mailer->setStoreId($storeId);
            $mailer->setTemplateId($templateId);
            $mailer->setTemplateParams(array(
                    'order'   => $this,
                    'comment' => $comment,
                    'billing' => $this->getBillingAddress()
                )
            );
            /** @var $emailQueue Mage_Core_Model_Email_Queue */
            $emailQueue = Mage::getModel('core/email_queue');
            $emailQueue->setEntityId($this->getId())
                ->setEntityType(self::ENTITY)
                ->setEventType(self::EMAIL_EVENT_NAME_NEW_ORDER)
                ->setIsForceCheck(!$forceMode);

            $mailer->setQueue($emailQueue)->send();

            $this->setEmailSent(true);
            $this->_getResource()->saveAttribute($this, 'email_sent');

            return $this;
        }

    Substitua por essa, respeitando as }:

            // Set all required params and send emails
            $mailer->setSender(Mage::getStoreConfig(self::XML_PATH_UPDATE_EMAIL_IDENTITY, $storeId));
            $mailer->setStoreId($storeId);
            $mailer->setTemplateId($templateId);
            $mailer->setTemplateParams(array(
                    'order'   => $this,
                    'comment' => $comment,
                    'billing' => $this->getBillingAddress()
                )
            );

            $mailer->send();

            return $this;
        }


    Atualiza
    a pagina no FTP e pronto, faça os teste de envio do pedido, e
    comentário lembrando que tem que marcar a opção de Avisar por email nos
    comentários do pedido e salvar o mesmo.

    Tudo isso pode ajudar a resolver seu problema, ou ajudar vc de alguma forma resolver outro tipo de problema nos emails.

    Obrigado e espero ajudar muita gente com essa dica.
  • Jonatan MachadoJonatan Machado Moderador Global, Administrador
    editado April 29
    Muito bom @mineiroxd

    Abraços
    Arsenal Web Design.com
    Desenvolvimento de Lojas Virtuais
    Magento | Zend Framework | HTML5 | CSS3 | Blogs

    E-mail: contato@brockdev.com
  • mineiroxd Usuario Cadastrado
    Vlw Dr.
  • cicerojunior_2011 Usuario Cadastrado
    KKKKKKKK ESTOU RINDO A TOA, VOCÊ É 1000 PROCUREI EM MAIS DE 300 SITES TENTANDO ENCONTRA A SOLUÇÃO DESDE O INÍCIO, ESTOU MUITO FELIZ ENTREM EM CONTATO COM O MEU PROVEDOR 3 VEZ E FORA OS EMAIL QUE MANDEI, ASSIM MEUS PROBLEMAS COM ISSO FORAM O SEGUINTE:
    1- NÃO SABIA O EMAIL:email@dominio.com E NEM O SERVIDOR: EMAIL.DOMINIO.COM, E NÃO SABIA CRIAR: FOI TIPO UM QUEBRA CABEÇA, ESTAVA QUASE NO MEU LIMITE MAIS MEXENDO E MEXEDO NO CPANEL ENCONTREI A SOLUÇÃO, CRIANDO UMA CONTA NO EMAIL DO CPANEL E COM ISSO ELES ME DERAM O ENDEREÇO E A PORTA AI CONCLUIR DA FORMA QUE VOCÊ INFORMOU.
    2- APOS COLOCAR A EXTENSÃO E APARECER A MENSAGEM VERDE VEIO A DUVIDA QUE VOCÊ EXPLANOU CADA DETALHE, VOCÊ É DEZ E ESTA FICANDO AGONIADO COM OS COMENTÁRIO DE MARIO SAM, JÁ LI VÁRIOS VÁRIOS ASSUNTOS E ELE SÓ COMENTA PERGUNTANDO AI AS PESSOAS ENTRAM COM DUVIDAS E ELE COLOCAR MAIS AINDA COM PERGUNTAS E PERGUNTAS, DESDE JÁ AGRADEÇO E AGRADEÇO, faltou só encinar como ter um Email e servidor para enviar porque esssa foi a duvida principal de muitos que estão começado!!!!!! GRATO ESTOU MUITO GRATO!!!!!!!!!!!!!!!!!!!!!! MUITO GRATO KKK 
  • Jonatan MachadoJonatan Machado Moderador Global, Administrador
    @cicerojunior_2011 leia as regras antes de comentar ou postar voce pode ser banido sem saber


    10ª Regra: Não utilize Letras maiúsculas nos títulos comentários e nos post no forum.
    Arsenal Web Design.com
    Desenvolvimento de Lojas Virtuais
    Magento | Zend Framework | HTML5 | CSS3 | Blogs

    E-mail: contato@brockdev.com
  • cicerojunior_2011 Usuario Cadastrado
    editado May 11
Entre ou Registre-se para fazer um comentário.