2013-05-01 63 views
0

這封郵件適用於爸爸,但我不能得到它與家庭服務器一起工作。它會發送郵件並顯示在收件箱中,而不是內容。我認爲這與使用$ body標籤有關,但我不確定任何建議? php郵件將發送郵件,但不包括內容

<?php 

// PHPmailer settings 
$mail = new PHPMailer(); // create a new object 
$mail->Issmtp(); // enable SMTP 
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only 
$mail->SMTPAuth = true; // authentication enabled 
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail 
$mail->Host = 'smtp.gmail.com'; 
$mail->Port = 465; 
$mail->Username = "email"; // SMTP username 
$mail->Password = "password"; // SMTP password 
$mail->From  = $email; 
$mail->FromName = $contact_name; 
$mail->SetFrom($email, $contact_name); 
$mail->AddAddress('email'); 
$mail->Priority = 1; 
$mail->WordWrap = 50; // set word wrap 
$mail->IsHTML(true); // send as HTML 
$mail->Subject = "Gray Gables maintenance request"; 
$mail->Body = $body;    
$mail->AltBody = "This is the text-only body"; 

// gets info from form 
$name = $_POST['name'] ; 
$email = $_POST['email'] ; 
$phone = $_POST['phone'] ; 
$message = $_POST['message'] ; 
$ip = $_SERVER['REMOTE_ADDR']; 




// defines how message looks in email 
$mail->Body=" 
Name: $name<br> 
Telephone: $phone<br> 
Email: $email<br> 
IP address: $ip <br> 
-------------------<br> 
Message:<br> 
$message"; 


// looks good in your inbox 
$mail->From = "$email"; 
$mail->FromName = "$name"; 
$mail->AddReplyTo("$email","$name"); 



// gives success or error 
if(!$mail->Send()) { 
    echo 'Message could not be sent.'; 
     echo 'Mailer Error: ' . $mail->ErrorInfo; 
    exit; 
    } 
    echo ' 
    <meta http-equiv="refresh" content="3;url=http/"> 
    <center><font size="5px"> 
    Message has been sent!!<br> 
    you will be redirected to our home page in 3 seconds...<br> 
    <a href="http">click here</a> to return now. 

    </font> 
    </center> 
    '; 

    ?> 

    <?php 
    echo ' Client IP: '; 
    if (isset($_SERVER["REMOTE_ADDR"])) { 
    echo '' . $_SERVER["REMOTE_ADDR"] . ' '; 
    } else if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) { 
    echo '' . $_SERVER["HTTP_X_FORWARDED_FOR"] . ' '; 
    } else if (isset($_SERVER["HTTP_CLIENT_IP"])) { 
    echo '' . $_SERVER["HTTP_CLIENT_IP"] . ' '; 
    } 
    ?> 
+0

嗯,你正在設置'$ mail-> Body'變量兩次......雖然它不應該導致電子郵件爲空,但我仍然會刪除第一個。如果你在調用Send()之前echo $ mail-> Body,你會得到什麼? – msturdy 2013-05-02 13:14:03

回答

0

我認爲你正在尋找這...

$身體=的file_get_contents( 'yourfile.html');

您可以在郵件正文中顯示的'yourfile.html'中附加任何HTML內容。