2016-01-18 2 views
0

Я пытаюсь отправить шаблон электронной почты с генерированным php-изображением. Я могу сгенерировать изображение, когда открываю файл на своем сервере, но я не могу сгенерировать изображение при отправке письма.Php не работает для шаблона электронной почты

<?php 

//change this to your email. 
$to = "Brian Chiem <[email protected]>"; 
$from = "Performance <[email protected]>"; 
$subject = "Test email - Performance Summary"; 

//begin of HTML message 
$message = <<<EOF 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <title>psdtoweb120715EmailSummary1195.psd</title> 
    <link type="text/css"> 
</head> 
<style > 
{ 
body, table, tr, td, p { 
margin: 0; 
padding: 0; 
} 

</style> 
<body margin = "0" padding = "0"> 
    <table width = "100%" height = "826"margin = "0" padding = "0"> 
     <tr margin = "0" padding = "0"> 
      <td width = "25%" margin = "0" padding = "0"> </td> 
      <td margin = "0" padding = "0"> 
        <table margin = "0" padding = "0" width = "612" height = "826" background= "http://piqdev.myperformanceiq.com/brian/images/bckgrnd1.png" style="background-repeat:no-repeat;> 
          <tr margin = "0" padding = "0"> 
           <td valign = "top"> <p style= "margin:0; padding-left: 20px; text-transform: uppercase;font-size: 30pt; color: #ffffff;font-family: Calibri, Georgia, Serif; font-weight: bold;" >Steve.b</p></td> 
           <td colspan = "2" valign = "top" align = "right" style = "padding-left:100px; padding-right: 10px"><p style= " display: relative;margin:0; padding-top: 5px;font-size: 12pt; color: #ffffff;font-family: Calibri, Georgia, Serif; font-weight: bold;"> Result summary for: <span style= "margin:0; font-size: 15pt; color: #ffffff;font-family: Calibri, Georgia, Serif; font-weight: bold;"> 8/20/15</span><br/>55 Minutes (6:00 am - 6:55am) </p></td>         
          </tr> 
          <tr margin = "0" padding = "0" height = "10%" display = "relative"> 
           <td valign = "top" margin = "0" padding = "0" style= "margin:0; padding-bottom: 60px;font-size: 70pt; color: #ffffff;font-family: Calibri, Georgia, Serif; font-weight: bold;"><p style = "padding-left: 100px; padding-bottom: 390px; " >500 </p></td> 
           <td valign = "top" margin = "0" padding = "0" style= "margin:0; font-size: 40pt; color: #ffffff;font-family: Calibri, Georgia, Serif; font-weight: bold;"><p style = "padding-left: 50px; padding-top: 20px;padding-bottom: 10px;">300 <br/><div style = "padding-left: 55px;padding-top:0px; ">600 </div></td> 
           <td valign = "top" margin = "0" padding = "0" style= "margin:0; font-size: 40pt; color: #ffffff;font-family: Calibri, Georgia, Serif; font-weight: bold;"><p style = "padding-top: 20px; padding-left: 20px; padding-right: 42px; ">200 <br/> <div style = "padding-left: 15px; padding-top:13px; font-size:35pt;" >3/12 </div></td> 
          </tr> 

          <tr> 
           <td> 
           <img src= "<?php imagefilledrectangle.php>> 
           </td> 
          </tr> 
        </table> 
      </td> 
      <td width = "25%"> </td> 
     </tr> 
    </table> 
</body> 
    </html> 
    EOF; 
    //end of message 
    $headers = "From: $from\r\n"; 
    $headers .= "Content-type: text/html\r\n"; 

    // echo $message; 
//options to send to cc+bcc 
//$headers .= "Cc: [email][email protected][/email]"; 
//$headers .= "Bcc: [email][email protected][/email]"; 

// now lets send the email. 
    mail($to, $subject, $message, $headers); 

echo "Message has been sent....!"; 
?> 

Файл PHP ссылки является

<?php 
    // Create a 55x30 image 
    $im = imagecreatetruecolor(55, 30); 
    $white = imagecolorallocate($im, 255, 255, 255); 
    // Draw a white rectangle 
    imagefilledrectangle($im, 4, 4, 50, 25, $white); 

    // Save the image 
    imagepng($im, './imagefilledrectangle.png'); 
    imagedestroy($im); 
?> 

ответ

0

Лучшее решение создать гистограмму динамически затем преобразовать его в изображение.

+0

Я попытался сделать это с помощью php и вставить как изображение, но оно не появится на моем почтовом клиенте. –

+0

Вы пробовали его на своем сервере или локально? Вам нужен веб-сервер, такой как XAMPP для локального запуска PHP. –

+0

Я запустил его на своем сервере. Я сделал 2 попытки, где я только что открыл файл, а еще одна попытка, когда я отправил электронное письмо. Когда я открывал файл, php работал нормально. Только когда я попытался отправить электронное письмо, у меня были проблемы. –

0
"<?php imagefilledrectangle.php>> 

выглядит как опечатка. Не закрывал PHP или ваши кавычки. Попробуйте также потребовать один раз.

"<?php require_once 'imagefilledrectangle.php' ?>" 
+0

Я получил его для работы, поэтому мне кажется, что мне нужно поместить прямую ссылку на изображение в тег img –

Смежные вопросы