Problema com formulário do Muse hospedado na Locaweb 2017 [CORRIGIDO ATUALIZADO]

Atualização em Setembro de 2017:Guilherme Monteiro comentou que faltou um @ no código.Não tinha observado o erro. Já corrigi e obrigado pelo toque!

Atualização 16 de novembro de 2015: Não sei ao certo se a Adobe ou a Locaweb mudaram algo mas, desde agosto de 2015, os formulários estão funcionando normalmente. Escreva nos comentários se continuam tendo problemas.

Em primeiro lugar, calma. Respira. Tem solução pra tudo na vida, menos pra morte. 😅

Se você está tendo problemas com disparo de e-mails a partir de formulários gerados no Muse e hospedados na Locaweb, é necessário configurar o form_process.php gerado pelo Muse, de acordo com as políticas da Locaweb.

Política da Locaweb

Segundo a Locaweb: “Para que a mensagem não seja bloqueada, é necessário colocar no campo from e no campo return-path um e-mail válido de seu domínio.”

Exemplo: o domínio transparentpixel.com.br só pode enviar e-mails com e-mail@transparentpixel.com.br. Mais informações no site da Locaweb. Além disso, é necessário preencher o cabeçalho completo, com campo from e return-path.

erro-formulario-muse

Como fazer

Após gerar os arquivos do site, procure pelo arquivo form_process.php no diretório /scripts.

Troque a linha:

$sent = @mail($to, $subject, $message, $headers);

por

$sent = @mail($to, $subject, $message, $headers, “-r”. “email@seusite.com.br”);

Sempre que gerar/atualizar os arquivos do site, é necessário atualizar essa linha.

Precisa também incluir o Return-Path mas, baseado em meus testes, funcionou sem essa configuração.

Usei em mais de 10 sites hospedados em Linux e funcionou.

80% dos comentários são positivos, então, há grandes chances de resolver seu problema aqui. Os comentários mais úteis serão complementados no conteúdo, com a devida autoria.

Espero que ajude, comentem e compartilhem. Se isso ajudar, cliquem em algum banner do blog para colaborar comigo, por favor. Com o dinheiro dos anúncios, desenvolverei um widget de formulário para Locaweb e disponibilizarei gratuitamente, facilitando a vida de todos.

54 comentários sobre “Problema com formulário do Muse hospedado na Locaweb 2017 [CORRIGIDO ATUALIZADO]

      1. consegui resolver o problema sem alterar em nada o codigo do muse, somente apaguei o campo email e coloquei um campo em em branco, o problema estão na variaveis que o muse gera para o campo e-mail, alguns hosts nao aceitam

  1. Após as últimas atualizações, o código deve ser substituído da seguinte forma:

    $sent = @mail($to, $subject, $message, $headers, “-r”. “email@seusite.com.br”);

    Estava faltando a @ antes do mail. Agora funciona corretamente. Se puder, faça o update do post.

    Abraços!

  2. Oi! Como configuro dois formulários no mesmo site, existe alguma configuração específica, pois apenas um dos formulários funciona, o outro não envia, ambos estão configurados para o mesmo email e em páginas diferentes. Poderia me ajudar?

    Obrigado!

  3. Galera,

    Aqui deu certo somente quanto troquei as duas aspas ” por uma ‘. Ficou assim:

    $sent = mail($to, $subject, $message, $headers, ‘-r’.’email@seusite.com.br’);

  4. Eu realizei esse procedimento e tudo deu certo, porém, um mês depois, do nada, começou a dar problema novamente, ou seja, ele é enviado com sucesso, mas não chega na caixa postal. Será que mudaram outra vez alguma coisa? Com a Locaweb Tá difícil trabalhar…

    1. Oi Celestino. Confirme 2 coisas:
      1) Você fez alguma atualização? Se sim, é preciso reescrever o form_process.php pois o Muse substitui.
      2) O endereço remetente de e-mail deve conter o mesmo domínio.
      Me avise se funcionou.

  5. Estou com o mesmo problema (que não tinha tido até o momento).
    Já alterei o código Trocar a linha: $sent = @mail($to, $subject, $message, $headers);
    Por: $sent = mail($to, $subject, $message, $headers, “-r”. “email@seusite.com.br”);

    E ele confirma o envio, mas o e-mail não chega.

  6. Olá! Estou aprendendo um pouco de criação de sites , e estou com alguns problemas.
    Minha hospedagem é feita no Hostinger, e nenhum formulário criado no muse funciona! Na verdade, ele mostra como se estivesse enviado a mensagem, mas não recebo nenhuma mensagem.

    Alguém pode me ajudar?

    1. Oi Danilo, não conheço essa hospedagem mas encontrei um tópico oficial da Adobe sobre o assunto: https://forums.adobe.com/docs/DOC-3581 . Se não funcionar, entre em contato com o suporte da hospedagem e explique seu problema. Se não der certo o suporte, troque por outra empresa de hospedgem. Minha sugestão nacional é a KingHost. Se for internacional, MediaTemple, DreamHost, HostGator… EVITE Locaweb, UOLHost e GoDaddy.

  7. Olá! Funcionou sem mudar nada. MAS somente quando mudei o email de destino dos forms para a caixa postal do domínio PRINCIPAL hospedado na locaweb. É por isso que para alguns, existe a confimação de que o email foi enviado, mas as vezes a pessoa não recebe o formulário.

  8. Olá Sergio, tudo bem? muito obrigado pelo tutorial.
    Sempre atualizo o Muse para a última versão, uso ele desde 2012 para fazer meu site.
    Também hospedo na Locaweb agora, com a hospedagem antiga não tinha esse problema.
    Me parece que mesmo fazendo essa adaptação, na está garantido, concorda? basta a Adobe atualizar o Muse ou a Locaweb mudar a configuração de formulários PHP para a adaptação mudar também. O que é o pior cenário, imagina perder um contato importante porque não atualizamos a tempo. Estou considerando migrar meu site para a GoDaddy que é recomendada no site da Adobe ou para o Business Catalyst, que é da própria Adobe. Que vc acha disso?

  9. O fomulário que inseri no meu site através do Muse também não funciona. E o pior é que o arquivo form.process nem está na pasta /scripts e em nenhum outro lugar.

    Alguém sabe o que devo fazer?

  10. Olá… O meu também deu erro então onde está entre aspas simples, troquei por aspas duplas, tanto o -r como o e-mail e só assim passou a funcionar.

  11. Olá,

    A nova linha correta para substituição e que funcionou comigo na Locaweb:
    $sent = mail($to, $subject, $message, $headers, "-r". "email@seusite.com.br");

    Abraço

  12. Boa tarde. Usei esse código e continuou dando erro. O erro inicial, na verdade era não receber ( apesar de confirmar o envio). Mas agora diz que "o servidor encontrou um erro"

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *