2016-07-14 1 views
2

Я сделал отдельный html-файл и с помощью file_get_content я использую его для включения его в мою часть контента, но когда я получаю HTML-код электронной почты, отображается как текст, а не то, что ouptut из HTML файла должен бытьВключите мой html-код внутри содержимого электронной почты в sendgrid emai

<html> 
 

 
<head> 
 
</head> 
 
<body> 
 

 
<div> 
 
<div class="popup-logo" style="width: 100px;"> 
 
<img src="logo.png" alt="jk" style="margin-left: 45%;width: 200px;height: 50px;"></div> 
 
</div> 
 
    <div id="popup" style="width: 100%;margin-left: auto;margin-right: auto;background: #FFFFFF;-moz-box-shadow: #64686e 0px 0px 3px 3px;-webkit-box-shadow: #64686e 0px 0px 3px 3px;margin-top: 1%;"> 
 
\t 
 
\t \t <div class="search-col" style="border-bottom: 1px solid #e5e5e5;float: left;margin-bottom: 5px;padding: .2px;width: 100%;table, th, td { 
 
    border: .5px solid silver;border-collapse: collapse;"> 
 

 
    
 
     
 
\t <div class="select-style"> 
 
    \t <div class="select-style-text" style="width: 100%;height: 67px;float: left;padding-left: 10px;"> 
 
       <p style="color: #840107;font-family: Hind;font-size: 25px;font-weight: 600;text-align: left;margin-left: 40%;text-overflow: none;text-indent: 2em;">Dispatched Details</p> 
 
\t \t \t \t 
 
\t \t \t \t </div> 
 
\t \t \t \t <div class="da" style="color:green;margin-left:85%;"> 
 
\t \t \t \t <?php 
 
\t \t \t \t 
 
\t \t \t \t $date = date('d-M-Y H:i:s'); 
 
\t \t \t \t echo "Date"."&nbsp;". $date; 
 
\t \t \t \t ?> 
 
\t \t \t \t </div> 
 
     
 
</div> 
 
    
 
     
 
    </div> 
 

 
<div> 
 

 
<div id="wer"> 
 

 
<h3 style="padding: 0.5px;padding-left: 5px;">Order Number:<?php echo $_SESSION['id'];?></h3> 
 
<h3 style="padding: 0.5px;padding-left: 5px;">Vendor details:</h3> 
 
<div id="wer" style="margin-left:0%;"> 
 
<table style="width: 100%;border: 1px solid silver;border-collapse: collapse;text-align: center;"> 
 
    <tr> 
 
    <th style="border: 1px solid silver;border-collapse: collapse;text-align: center;">VendorName</th> 
 
    <th style="border: 1px solid silver;border-collapse: collapse;text-align: center;">Code</th> 
 
    <th style="border: 1px solid silver;border-collapse: collapse;text-align: center;">Email</th> 
 
\t <th style="border: 1px solid silver;border-collapse: collapse;text-align: center;">Contact</th> 
 
    </tr> 
 
    <tr> 
 
    <td style="border: 1px solid silver;border-collapse: collapse;text-align: center;"><?php echo $_SESSION['vnm']?></td> 
 
    <td style="border: 1px solid silver;border-collapse: collapse;text-align: center;"><?php echo $_SESSION['vcd']?></td> 
 
\t <td style="border: 1px solid silver;border-collapse: collapse;text-align: center;"><?php echo $_SESSION['vem']?></td> 
 
\t <td style="border: 1px solid silver;border-collapse: collapse;text-align: center;"><?php echo $_SESSION['vcn']?></td> 
 

 
    </tr> 
 
    
 
    
 
</table> 
 
</div> 
 

 
<div id="wer" style="margin-top:3%;"> 
 

 
<h3 style="padding: 0.5px;padding-left: 5px;">Other Details:</h3> 
 
<style> 
 

 
</style> 
 
<table style="width: 100%;border: 1px solid silver;border-collapse: collapse;text-align: center;"> 
 
    <tr> 
 
    <th style="border: 1px solid silver;border-collapse: collapse;text-align: center;">Driver name</th> 
 
    <th style="border: 1px solid silver;border-collapse: collapse;text-align: center;">Driver contact </th> 
 
\t <th style="border: 1px solid silver;border-collapse: collapse;text-align: center;">Vehicle Number</th> 
 
    </tr> 
 
    <tr> 
 
    <td style="border: 1px solid silver;border-collapse: collapse;text-align: center;"><?php echo $_SESSION['drivname']?></td> 
 
\t <td style="border: 1px solid silver;border-collapse: collapse;text-align: center;"><?php echo $_SESSION['dcontact']?></td> 
 
\t <td style="border: 1px solid silver;border-collapse: collapse;text-align: center;"><?php echo $_SESSION['vnumber']?></td> 
 

 
    </tr> 
 
    
 
    
 
</table> 
 
</div> 
 
<?php session_destroy();?> 
 
</div></div></div></body> 
 
</html>

<?php 
require '/sendgrid-php/vendor/autoload.php'; 

if(require("sendgrid-php/vendor/autoload.php")) 
    {echo "path found";} 

$from = new SendGrid\Email(null, '[email protected]'); 
$subject ='Order number is'; 
$to = new SendGrid\Email(null, '[email protected]'); 
$r=file_get_contents('ret.html'); 
$content = new SendGrid\Content("text/plain",$r); 
$mail = new SendGrid\Mail($from, $subject, $to, $content); 
$apiKey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; 
$sg = new \SendGrid($apiKey); 

$response = $sg->client->mail()->send()->post($mail); 
echo $response->statusCode(); 
echo $response->headers(); 
echo $response->body(); 
?> 

ответ

3

Вы должны включить этот файл, оценить его как PHP и захватить его в переменной вместо того, чтобы хранить невычисленного содержание в строке:

ob_start(); 
include("ret.html"); 
$r = ob_get_clean(); 
$content = new SendGrid\Content("text/html",$r); 

Кстати, вы должны рассмотреть возможность использования механизма шаблонов для этой работы.

+0

Тем не менее я получаю обычный текст @Tacsiazuma – art

+0

Отредактированный тип контента в текст/HTML – Tacsiazuma

+0

Шаблонизатор плохо узнать больше о них @Tacsiazuma – art

2

Из чего я могу понять, ваш адрес электронной почты отправляется как обычный текст вместо html. Это связано с тем, что при создании объекта SendGrid у вас установлен тип text/plain. Это необходимо сделать, чтобы изменить его на text/html. Замените эту строку

$content = new SendGrid\Content("text/plain",$r); 

с

$content = new SendGrid\Content("text/html",$r); 
Смежные вопросы