2013-10-11 2 views
0

я иметь следующий вид:PHP почтовик не включая тело

<form action="" method="post" enctype="multipart/form-data"> 

<input required="required" name="name" type="text" placeholder="Name" /><br /><br /> 
<input required="required" name="email" type="text" placeholder="Email" /><br /><br /> 
<input required="required" name="phone" type="text" placeholder="Phone Number" /><br /><br /> 
<input required="required" name="website" type="text" placeholder="URL to blog/website" /><br /><br /> 
<input type="file" name="file" /><br /><br /> 
<textarea name="message" cols="" rows="10" placeholder="Message (optional)"></textarea><br /><br /> 
<input name="send_form" type="submit" value="Submit" style="float:right; width:200px;" /> 
</form> 

И это мой PHP:

$mail    = new PHPMailer(); 
$mail->IsSMTP(); // telling the class to use SMTP 
$mail->SMTPAuth = true;     // enable SMTP authentication 
$mail->Host  = "xxxxxx"; // sets the SMTP server 
$mail->Username = "xxxxxxx";// SMTP account username 
$mail->Password = "xxxx";  // SMTP account password 
$mail->From = $_REQUEST['email']; 
$mail->FromName = $_REQUEST['name'];  
$mail->IsHTML(true); 
$mail->Subject = "CV Upload"; 

$body = 'Name:'.$_REQUEST['name'].'<br /><br />Email:'.$_REQUEST['email'].'<br /><br />Email:'.$_REQUEST['website'].'<br /><br />Message:'.$_REQUEST['message'].'<br /><br />'; 

$mail->Body = $body; 
$mail->AltBody = $text_body; 
$mail->AddAddress("[email protected]"); 
$mail->AddAttachment($_FILES['file']['tmp_name'], $_FILES['file']['name']); 
if($mail->Send()){ 
    $success = true;   
}else{ 
    $success = false; 
}//if($mail->Send()){} 

По какой-то причине тело содержание не отображается в сообщении электронной почты, которую я получаю , Строка темы и все остальное работает. Что-то не так с этим?

+0

Где вы объявляете $ body и $ text_body? Я вижу только текстовую область с именем «сообщение». – Matheno

+0

$ body - это в основном все поля формы, как указано выше. – danyo

+0

Ах да, извините, не заметил этого. – Matheno

ответ

0

Проверьте, что является результатом $mail->Body, прежде чем делать $mail->Send() и проверить почту с HTML включен почтовый клиент. Обратите внимание, что $mail->AltBody заполнено содержимым переменной $text_body, которая не указана в представленном вами коде. Он может быть пустым, и если вы используете почтовый клиент только для текста, вы не увидите никакого текста. Вы можете попробовать выполнить простой тест и попробовать эти строки кода, чтобы узнать, какой контент отображается в вашем почтовом клиенте:

$mail->Body = '<h1>HTML</h1>'; 
$mail->AltBody = 'Plain text'; 
Смежные вопросы