Suporte » Plugins » enviar formularios com phpmailer

  • Resolvido weffenson

    (@weffenson)


    Olá pessoal, preciso fazer um formulário com varios campos (nao seria um formulario de contato simples) para ser enviado por email. Então pensei em usar o PHPmailer que já usava para envio em sistemas php. Só que ao levá-lo pro wordpress não consegui botar o bicho pra funcionar.

    primeira pergunta, como fazer o include do arquivo dessa classe(esta na pasta do meu tema)?
    segunda pergunta, vi que na pasta wp-includes já tem uma classe do phpmailer como faço o include desta tambem?

    espero que tenha sido claro o suficiente. =]

Visualizando 8 respostas - 1 até 8 (de um total de 8)
  • Caso seja uma página caregada somente por ajax, use esses includes para funcionar as variávels e funções padrões do WP:

    require_once('../../../wp-config.php');
    require_once('../../../wp-load.php');
    require_once('../../../wp-includes/wp-db.php');

    Para o phpmailer, use:

    require_once ('../../../wp-includes/class-phpmailer.php');
    require_once ('../../../wp-includes/class-smtp.php');

    Agora já vai funcionar!

    Criador do tópico weffenson

    (@weffenson)

    Obrigado pela força Leo Caseiro. Mas deu um erro aqui:

    Warning: require_once() [function.require-once]: open_basedir restriction in effect. File(../../../wp-config.php) is not within the allowed path(s): (/home/endoclin:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/endoclin/public_html/new01/wp-content/themes/link-endoclinic/page-sua-opiniao.php on line 20

    obs: Não estou usando Ajax.

    Aqui eu consegui fazer funcionar perfeitamente! Mas eu utilizei Ajax.
    Tente assim:

    require_once ('./wp-includes/class-phpmailer.php');
    require_once ('./wp-includes/class-smtp.php');

    Se não, você pode utilizar a função wp_mail do próprio WordPress e utilizar o plugin WP Mail SMTP

    Talvez seja mais fácil!

    Mas se precisa do phpmailer mesmo, tem esse plugin aqui: http://wordpress.org/extend/plugins/configure-smtp/

    Criador do tópico weffenson

    (@weffenson)

    esse require funcionou, não apareceu mais erro. Agora é o email que não chega. hahah

    Não precisa ser em phpmailer não, só preciso de uma ferramenta de envio smtp que funcione com um formulario html q vou preparar e com o contact form 7 fica meio que “gambiarra”.

    Vou testar essa função wp_mail(), valeu Leo Caseiro.
    Obrigado mesmo, qualquer coisa eu voltarei. =D

    Criador do tópico weffenson

    (@weffenson)

    Deu tudo certo com a wp_mail().

    Obrigado cara!

    Bom saber Weffenson, fica aqui no Fórum para quem tiver a mesma dúvida!

    Esse wp_mail é bom mesmo rsrs!

    Abs

    Bom dia pessoal!

    Vou “reabrir” este tópico pois estou passando pelo mesmo problema do membro weffenson porém não consigo uma solução.

    Já tentei com a função wp_mail() e e até a própria função mail() do PHP e até o momento não consegui resolver o problema.

    E após o envio do e-mail não é exibida nenhuma mensagem de sucesso ou erro.

    Vocês teriam alguma dica?

    Felipe, teste utilizando uma configuração de SMTP válida. Só assim para ter certeza.

    Outra coisa é habilitar o debug no wp-config.php, assim irá exibir um erro.

    Obs: Local é mt difícil funcionar. Você está utilizando qual servidor de Host? Linux ou Windows?

Visualizando 8 respostas - 1 até 8 (de um total de 8)
  • O tópico ‘enviar formularios com phpmailer’ está fechado para novas respostas.