0

私はphpmailerを実行していて、非常に新しいです。問題の定義:HTMLコンテンツが正しく表示されているのに、受信した電子メールでphp変数データを表示できない。以下はコードの一部です。

require 'PHPMailer/class.phpmailer.php';
$mail = new PHPMailer;
$mail->WordWrap = 50;                                 // Set word wrap to 50 characters
$mail->IsHTML(true);                                 // Set email format to HTML
$mail->Subject = 'Message';
$mail->Body    = '<body>
    <div align="center"><p7><strong>HELLO WORLD</strong></p7></div>
    <h9><u>Details</u></h9><br/>
<h9><strong>NAME:</strong> <?php echo "$name";?>  <?php echo "$place";?>
</body>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
if(!$mail->Send()) {
   echo 'Message could not be sent.';
   echo 'Mailer Error: ' . $mail->ErrorInfo;
   exit;
}
echo 'Message has been sent';

phpで定義されたデータを表示できません。また、$nameと$placeは、すべてのメールの動的データです。

助けてください。

4

5 に答える 5

3

PHP ステートメントを単一引用符で囲むことはできません。代わりに次を使用します。

$mail->Body    = '<body>
<div align="center"><p7><strong>HELLO WORLD</strong></p7></div>
<h9><u>Details</u></h9><br/>
<h9><strong>NAME:</strong>' . $name . ' ' . $place . '
</body>';
于 2013-03-14T11:05:26.087 に答える
0

' ではなく " の間にテキストを挿入する必要があります。

PHP は、二重引用符で囲まれた文字列内の変数のみを置き換えます。

また、文字列に php コードを使用しないでください。

$mail->Body = "
    <body>
    <div align=\"center\"><p7><strong>HELLO WORLD</strong></p7></div>
    <h9><u>Details</u></h9><br/>
    <h9><strong>NAME:</strong> $name $place
    </body>
";
于 2013-03-14T11:03:06.030 に答える
0

代わりに試してください:

$mail->Body    = "<body>
<div align=\"center\"><p7><strong>HELLO WORLD</strong></p7></div>
<h9><u>Details</u></h9><br/>
<h9><strong>NAME:</strong>$name $place
 </body>";

既に php コンテキストにいるので、文字列に php タグを入れる必要はありません!

于 2013-03-14T11:04:33.383 に答える
0

本文を次のように置き換えます。

$mail->Body    = '<body>
    <div align="center"><p7><strong>HELLO WORLD</strong></p7></div>
    <h9><u>Details</u></h9><br/>
<h9><strong>NAME:</strong>'.$name.' '.$place.'</body>';
于 2013-03-14T11:05:29.583 に答える
0
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

    $message .= "Phone: 0181-4606260.<br>";
$message .="Mobile :09417608422.<br>";  

Send_Mail('abc@example.com','Welcome',$message,$headers);

これを試して...

于 2013-03-14T11:07:57.520 に答える