Dificuldades com formulário de contato - PHPmailer


(Tiago Battoni) #1

Olá,

Estou tentando criar um formulário de contato simples, porém não sou programador php, usei alguns arquivos em php, como foi visto no tópico Fatal error - PHP, mas sem resultados.

Bem eu usei um código php que a Locaweb disponibilizou que utiliza o PHPMailer, veja aqui.

Eu segui a instruções mas a autenticação com smtp não estava funcionando, então por observação e dedução, acrescentei essas informações ao arquivo class.phpmailer.php:
public $Host = 'e38.ehosts.com';
public $Port = 465;
public $SMTPSecure = 'ssl';

Após isso o email é enviado, mas sem o conteúdo do formulário, aparece somente o texto: corpo do email. Acredito que seja referente a linha: $mail->MsgHTML('corpo do email');

Tendo essas informações o que eu tenho que acrescentar ou alterar no código php para envio do formulário para que os dados preenchidos sejam enviados?
No formulário os campos/label são:
name
email
subject
message

Seu puderem me ajudar e orientar ficarei imensamente grato.

Tiago


(Nick Lima) #2

Você precisa definir os campos que deseja passar.
Veja o modelo abaixo:

<?php
$to      = 'nobody@example.com';
$subject = 'Assunto: '.$name.' <'.$email.'>';
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>

No seu script você está enviando apenas a mensagem.
Espero ter ajudado.


(Luan Maik) #3

O conteúdo do email é definido nos atributos:

$mail->Subject  = $assunto; // Assunto da mensagem
$mail->Body = $texto; //Texto do email com tags HTML
$mail->AltBody = $alttexto; //Texto do email sem tags html

Sobre o erro que enfrentava na autenticação, eu tbm tinha esse problema, alguns sites funcionava e em outros não. Hoje eu utilizo a API do MailJet para enviar os emails, é bem mais rápido e prático.