2017-06-27 33 views
0

htmlと混在したインラインCSSを使用してユーザにHTMLメールを送信しています。 問題は、私のPHPから私のHTMLに私の変数を渡し、それを電子メールとして送信するのに応じてそれを使用する方法です。例えば、メールには、ユーザのフルネーム、ユーザの購入および購入金額が含まれる。どのように私は私のhtmlPHP変数をhtmlメールに渡す

$mail = new PHPMailer; 

$mail->From = "[email protected]"; 
$mail->FromName = "mail.com"; 
$mail->addAddress($email); 
$mail->addReplyTo("[email protected]", "Reply"); 
$mail->isHTML(true); 

$mail->Subject = "Details"; 
$mail->Body = file_get_contents('epay.html'); 
$mail->Send(); 
+1

あなたの完全なコードを投稿してください。 –

+1

可能な複製:https://stackoverflow.com/questions/3706855/send-email-with-a-template-using-php –

答えて

2

に私はあなたがSmartyの(http://www.smarty.net/)のようなテンプレートエンジンを使用することをお勧めすることを通過します。ドル($)記号でそれらを先行することによって参照されている割り当てられた変数

PHPから割り当てられた

変数:ここでは例(使用例として、彼らのドキュメンテーションから貼り付けコピー)があります。

例4.2。変数

<?php 

$smarty = new Smarty(); 

$smarty->assign('firstname', 'Doug'); 
$smarty->assign('lastname', 'Evans'); 
$smarty->assign('meetingPlace', 'New York'); 

$smarty->display('index.tpl'); 

?> 

index.tplソース割り当て:

Hello {$firstname} {$lastname}, glad to see you can make it. 
<br /> 
{* this will not work as $variables are case sensitive *} 
This weeks meeting is in {$meetingplace}. 
{* this will work *} 
This weeks meeting is in {$meetingPlace}. 

上記これを出力します:

Hello Doug Evans, glad to see you can make it. 
<br /> 
This weeks meeting is in . 
This weeks meeting is in New York. 

はここhttp://www.smarty.net/docs/en/language.variables.tpl

0

あなたはテンプレートの代わりにHTMLファイルを使用する必要があります読み続けます。 Smartyを使いたくない場合は、代わりにPHPファイルを使用することができます。例:

$amount = 210.14; 
$mail->Body = require('epay.php'); 

epay.php:たとえば

<?php 
return <<<END 
<div class="amount">{$amount}</div> 
END; 
+0

返信先<<< END for – nsikak

+0

https://stackoverflow.com/questions/3737139/reference-what-does-this-symbol-mean-in-php – Quentin

+0

<<< ENDはheredocです。 http://php.net/manual/en/language.types.string.phpをご覧ください。返信文は内容を$ mail-> body –

-1

$ext = 'Some value'; 
$body = require('body_template.php'); 

$mail->Body = $body; 
$mail->Send(); 

body_template.php

$template = <<<TMPL 
<p>Some value: {$ext}</p> 
TMPL; 

return $template; 
関連する問題