Динамическое вложение изображений в 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"> </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";
?>