Jump to content

Problemas em Envio de E-mail (SMTP)


Recommended Posts

Olá pessoal, bom dia!

 

Tenho enfrentado um problema difícil de resolver e espero que possam me ajudar. Vou relatar da melhor forma que eu puder.

 

Servidor: GoDaddy, compartilhado, Linux, 2GB de Memória.

 

Versão do Prestashop: 1.6.1.7

 

O problema: Os e-mail da Prestashop não estão sendo enviados para as contas do clientes. Porém, isso não acontece sempre, e-mails como "Pedido Cancelado" ou "Pedido Enviado" são recebidos pelo clientes, mas os demais tipos de e-mail como a confirmação do pedido, etc, não são enviados.

 

Em "Parâmetros Avançados > E-mail" existe um log com todos e-mails enviados, mas somente os e-mail com status "order_canceled" e "shipped" chegam na caixa de correio dos clientes.

 

No mesmo painel, nas configurações de envio testei os três jeitos:

 

A) Utilizar a função PHP Mail()

Resultados: chega a enviar os e-mails "order_canceled" e "shipped", mas não os demais. Ao tentar enviar um e-mail teste diz que o mesmo foi enviado e ele chega com sucesso para qualquer endereço de e-mail testado.

 

B ) Definir meus próprios parâmetros SMTP (Sem encriptação e com a porta 25)

Resultados: os mesmos resultados que no caso A.

 

C) Definir meus próprios parâmetros SMTP (Com encriptação SSL e com a porta 587)

Resultados: não envia nenhum e-mail, nem mesmo envia os e-mail testes. Ao tentar enviar um e-mail teste diz que o mesmo foi enviado, porém não chega com sucesso para qualquer endereço de e-mail testado.

 

As configurações do Servidor SMTP, Usuário SMTP e Senha SMTP são válidas, já testadas em plataformas para teste, diferentes da Prestashop, no mesmo servidor.

 

O estranho é que, a princípio, não há problemas com as configurações uma vez que ao menos dois tipos de e-mail ("order_canceled" e "shipped") são sempre entregues quando configurados no caso A e B.

 

O que poderia ser? Será que a ausência dos templetes de e-mail no tema instalado (comprado na loja oficial da Prestashop) interfere em tal situação? Agradeço a todos desde já!

Edited by itscaiqueck (see edit history)
Link to comment
Share on other sites

Olá.

Confirma se em "Estado de Encomendas" (Encomendas-->Estado de Encomendas) se nessas funções ("Pedido Cancelado ") está selecionado a função "Enviar e-mail ao Cliente".

 

Se estiver ativo tenta mudar esta configuração:

Clientes--> Apoio ao Cliente

 

URL IMAP: mail."oteudominio".com

Porta IMAP: 143

Coloca o teu user e passw IMAP

De seguida, desativa todos expeto:

"Eliminar mensagens"

"Criar novo tópico"

"Opções IMAP (/novalidate-cert)"

 

 

Faz o teste e experimenta a ver se resolve

Link to comment
Share on other sites

Olá.

Confirma se em "Estado de Encomendas" (Encomendas-->Estado de Encomendas) se nessas funções ("Pedido Cancelado ") está selecionado a função "Enviar e-mail ao Cliente".

 

Se estiver ativo tenta mudar esta configuração:

Clientes--> Apoio ao Cliente

 

URL IMAP: mail."oteudominio".com

Porta IMAP: 143

Coloca o teu user e passw IMAP

De seguida, desativa todos expeto:

"Eliminar mensagens"

"Criar novo tópico"

"Opções IMAP (/novalidate-cert)"

 

 

Faz o teste e experimenta a ver se resolve

 

Olá! Agradeço sua resposta.

 

Fiz o que foi solicitado. Todos os status dos pedidos (estados) estão configurados como selecionados em "enviar e-mail ao cliente". Também configurei conforme solicitou a configuração IMAP no atendimento ao cliente. 

 

Depois disso, testei a realização de um pedido. Novamente, nenhum e-mail foi enviado. Nenhum e-mail com a fatura/detalhes do pedido, nem o e-mail de confirmação, de envio ou entrega, chegou a caixa de correio do cliente destinatário.

Link to comment
Share on other sites

  • 2 weeks later...
Olá!

 

Aqui vai uma recomendação que, a princípio, parecerá loucura, mas comigo funcionou dessa forma. (estou usando presta vs. 1.6.1.6 com o tema padrão)

 

Vá em Localizações > Traduções 

 

Em MODIFICAR TRADUÇÕES selecione:

 

Tipo de Tradução > Traduções de template de e-mail 

Selecione seu tema > selecionar seu tema

Selecione idioma > selecionar o seu idioma

 

Clique em MODIFICAR

 

:: IMPORTANTE ::

 

Localize um desses e-mails que seu cliente não recebe e vá até ele...

 

Vá em Editar versão HTML

 

Com MUITA CAUTELA faça uma alteração qualquer no texto: - inclua palavra (s); - exclua um ponto; qualquer alteração e SALVE.

 

A saber, no meu caso eu inclui um texto no rodapé do template do e-mail.

 

Voltando um pouco sobre CAUTELA na alteração, lembre-se:

 

Algumas destas expressões usam esta sintaxe especial: %d. 

 

Você PRECISA utilizar a mesma sintaxe em suas traduções. Aqui estão alguns exemplos:

"Existem %d produtos": "%d" será substituído por um número.

"Lista de páginas em %s": "%s" será substituído por um texto.

"Característica: %1$s (%2$d valores)": Os números permitem reordenar as variáveis quando necessário.

 

Então não altere nada que contenha essas expressões a menos que você saiba o que está fazendo.

 

Já em Parâmetros Avançados > E-mail configurei da seguinte maneira:

 

Enviar email para > Serviço ao cliente

Definir meus próprios parâmetros de SMTP (Ex: smtp.seudominio.com)

Envie e-mails no formato HTML

 

Já as configurações do SMTP você deve seguir as recomendadas pela hospedagem.

 

Espero ter ajudado.

 

Abraço;

Link to comment
Share on other sites

  • 6 months later...

Bom dia...

 

O PHP Mailer do Prestashop não envia mensagens para hotmail ou gmail por exemplo.

Tentei usar o SMTP do meu domínio, mas nenhuma configuração funciona. (TLS/portas/host...)

Dá sempre erro "fsockopen returned Error Number 111 and Error String 'Connection refused'" ou de autenticação.

 

Alguém tem uma solução para isso ou algum módulo que resolva ?

 

Grato,

 

Link to comment
Share on other sites

Bom dia.

Estou com um problema bem parecido.  O PHPmailer não envia para gmail ou hotmail.

Não consigo configurar o SMTP próprio.  Sempre dá erro de autenticação ou

"fsockopen returned Error Number 111 and Error String 'Connection refused'"

 

 

Tem alguma ideia ?

Link to comment
Share on other sites

Na verdade a função PHP Mail() sempre envia, mas alguns servidores rejeitam pela grande quantidade de SPAM gerado por este tipo de envio, que não é autenticado.

Recomendo verificar com o suporte da sua hospedagem quais os parâmetros corretos do SMTP e, se possível ativar também a autenticação (DKIM, SPF), para garantir que os e-mails do sistema não serão classificados como SPAM (a menos que alguém reporte o seu domínio ou IP como SPAMMER)..

Link to comment
Share on other sites

Como o Daniel já escreveu em seu outro tópico: entre em contato com o seu provedor. O servidor está mal configurado ou seja a porta está trancada (erro fsockopen 111) e nao pode enviar as mensagens através da porta cofigurada no servidor.

 

Por favor evite tópicos duplos !

Link to comment
Share on other sites

Bom dia.

Estou com um problema bem parecido.  O PHPmailer não envia para gmail ou hotmail.

Não consigo configurar o SMTP próprio.  Sempre dá erro de autenticação ou

"fsockopen returned Error Number 111 and Error String 'Connection refused'"

 

 

Tem alguma ideia ?

Renzor, bom dia!

 

Como complemento ao que nosso amigo selectshop.at, tente fazer o que está anterior a sua postagem, pode parecer, a principio que não tem nada a ver. Mesmo assim, siga o passo a passo ali e veja se funciona.

 

Abraço

Link to comment
Share on other sites

Eu já segui esses passos e não há configuração de SMTP que seja válida para o Prestashop.

 

Eu estou colocando as mesmas configurações que uso no thunderbird e no iphone, mas mesmo assim o PS dá como inválida.

Apenas a mensagem muda, mas o erro continua.

 

Detalhe: Nem gmal, nem hotmail, recebem msgs pelo phpmail. Para outros provedore, não há problema.  Por essa razão eu queria usar o meu smtp.

Link to comment
Share on other sites

O problema está na sua hospedagem e nao no Prestashop. Erro fsockopen 111 diz que a porta esta trancada. Deverá verificar a porta que foi configurada no servidor. Pode ser que existem configuracoes diferentes no servidor para o que está na php.ini e no smtp. Pode ser um firewall no servidor mal adptado. Entre em contato com o seu provedor.

  • Like 1
Link to comment
Share on other sites

Se o servidor nao está corretamente configurado, entao terá que fazer as alteracoes como o seu provedor recomendou. Nao existe outra maneira.

 

No internet vc. encontrará um monte de tutoriais. Terá que experimentar, pois isto é uma adaptacao customizada e de servidor em servidor diferente, sendo assim fora de suporte por aqui. Terá que descobrir primeiramente qual OS (sistema operacional - apache,ngnix, etc.), e versao php que está usando e em cima destes dados consultar o Google como configurar corretamente.

 

Tutoriais WHM -

  • Like 1
Link to comment
Share on other sites

Pelo cPanel (nem precisa acessar o WHM) vc pode verificar facilmente quais as configurações de SMTP recomendadas.

 

No menu "Contas de E-Mail" (E-mail Accounts) vc tem a lista de contas de e-mail.

Em qualquer das contas deve ter uma opção "Configurar Cliente de E-mail" (Set Up Mail Client), onde você pode ver os parâmetros corretos para configurar o SMTP.

Preferencialmente criptografado (No bloco "Secure SSL/TLS Settings (Recomendado)").

 

No painel principal do cPanel você deve ter ainda o menu "Autenticação", onde você deve ativar DKIM e SPF.

 

Boa sorte. 

  • Like 1
Link to comment
Share on other sites

Pois é Daniel, já havia tentado essas configurações.

Dá na mesma: ou erro de senha/usuário ou o tal fsockopen...

 

Como eu já adiantei, não tenho experiência/conhecimento suficiente para fazer o que disse o selectshop.at acima...

 

OU, existe alguma outra forma de fazer o phpmailer ser aceito pelos gmail/hotmail ???

O problema maior é esse: nem gmail, nem hotmail recebem os e-mails do sistema.

Edited by renzogr (see edit history)
Link to comment
Share on other sites

O problema maior é esse: nem gmail, nem hotmail recebem os e-mails do sistema.

Na verdade o problema descrito agora é outro. gmail e hotmail nao recebem seus mails porcausa de filtros que estes servicos usam.

 

1) Se nao está saindo nenhum mail seu, é porque o servidor está desconfigurado, e vc. vai ter que fazer adaptacao nos scripts como o seu provedor já indicou.

 

2) Se o seu problema somente sao gmail e hotmail, entao como o Daniel já indicou, deverá configurar o SMTP. Outra dica que podemos lhe dar é usar um IP dedicado para o envio dos seus mails. IP's  de servidores compartilhados, sempre serao reconhecidos como SPAM.

 

Qual versao Prestashop ? Quais portas já tentou ? Porta 25 deverá estar trancada mesmo para o hotmail e gmail.  Já tentou com SSL, porta 465 ou TLS porta 587 ?

 

Talvez este artigo lhe funcione: https://www.namecheap.com/support/knowledgebase/article.aspx/9751/31/how-to-configure-php-mailsmtp-authentication-for-different-cms#prestashop

 

Se estiver usando o gmail como STMP em vez do seu próprio, entao achará aqui solucao. Ou este aqui: https://www.prestashop.com/forums/topic/509734-email-configuration-error-gmail-smtp-server/page-2

Link to comment
Share on other sites

Uso o PS 1.6.0.14, num servidor VPS.

Tenho um IP compartilhado e outro dedicado, mas acho que é o compartilhado que manda os emails pelo php mail.

 

Já tentei todas as configurações possíveis para usar o meu smtp: com ou sem SSL, portas,....

 

E o hotmail/gmail continuam não recebendo emails da minha loja.  Essa é a principal razão para mudar o smtp.

 

Grato,

Link to comment
Share on other sites

Com IP dedicado os mails deverao funcionar com o hotmail/gmail, desde que este IP nao esteja listado em blacklists porcausa de spam.

 

Em um VPS vc. tem acesso root. Neste pode fazer a configuracao diretamente nos scripts do servidor através de SSH. No internet vc. encontra um monte de tutoriais, inclusive no YT. É só experimentar. Nós aqui somente podemos dar dicas. Infelizmente o suporte de como configurar servidores corretamente na verdade nao é tema do fórum Prestashop. ;)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...