Динамическое вложение изображений в phpmailer

У меня есть html2canvas изображения, динамически генерируемые и именованные с помощью функции uniqid. Пользователь создает свое изображение, отправляется на экран предварительного просмотра и подтверждает отправку.

У меня проблемы с получением изображения html2canvas, прикрепленного к отправляемому письму. Изображения сохраняются на сервере и электронные письма отправляются, но прикрепленное изображение содержит нулевые данные. Любые советы высоко ценится!

Вот обзор и страница отправки:

<?php
session_start();

$filteredData=substr($_POST['img_val'], strpos($_POST['img_val'], ",")+1);

$unencodedData=base64_decode($filteredData);

file_put_contents(uniqid() . '.png', $unencodedData);

$_SESSION['question'] = $imgValue;

?>
<table>
    <tr>
        <td colspan="2">
            <br />
            <br />
            <br />
            <form id="form1" name="form1" method="post" action="mailer2.php">
<table width="455" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="175" height="44" align="center"><label for"name">Name</label></td>
    <td width="280"><input name="name" type="text" id="name" size="30" />
      </td>
  </tr>
  <tr>
    <td height="45" align="center"><label for="email">Email</label></td>
    <td><input name="email" type="text" id="email" size="30" /></td>
  </tr>
  <tr>
    <td height="41" align="center"><label for="question">Preview</label></td>
    <td><span name="question" id="question"><?php echo '<img width="500px" src="'.$_POST['img_val'].'" />';
?></span></td>
  </tr>
  <tr>
    <td height="38">&nbsp;</td>
    <td><label>
      <input type="submit" name="Submit" id="Submit" value="Submit" />
    </label></td>
  </tr>
</table>

</form>

        </td>
    </tr>
</table>

... и страница отправки:

<?php 
session_start();

require_once 'class.phpmailer.php';

$imgValue = $_SESSION['question'];

$mail = new PHPMailer();

$body = "</pre>
<div>";
$body .= "This is the email body text" ;
$body .= "</div>" ;


$mail->AddAddress("michael.y@informinteriors.com");
$mail->Subject = "Endless Configuration Submission";
$mail->MsgHTML($body);
$mail->AddStringAttachment($imgValue, $imgValue, 'base64', 'image/png');
if(!$mail->Send()) {
echo "There was an error sending the message. Please try again.";
exit;
}
echo "Configuration was sent successfully";

?>

0 ответов

Другие вопросы по тегам