0
私は動的に作成されたキャンバスオブジェクトをメールに埋め込みイメージとして送信しようとしています。そのためにキャンバスをdataurlに変換してメーラーライブラリに与えました。残念ながら、それはdataurlで動作していません。PHP PEAR MAIL base64イメージまたはdataurlを使用していません
実際のパスを持つsrcで試してみましたが効果はありましたが、dataurlに問題があります。
<?php
require_once "Mail.php";
require_once 'Mail/mime.php';
$from = "[email protected]";
$subject = $_REQUEST['subject'];
$data=$_REQUEST['data']; //dataurl
$img = $_REQUEST['body'];
$host = "ssl://smtp.gmail.com";
$port = "465";
$username = "[email protected]";
$password = "mypassword";
$to="[email protected]";
$body="<html><body><h1>Report is Here</h1><img src='cid:whatever'/></body></html>";
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));
$mime = new Mail_mime("\n");
$mime->setTXTBody("");
$mime->addHTMLImage($data, "image/png","1234.png",false,"whatever");
$mime->setHTMLBody($body);
$body = $mime->get();
$headers = $mime->headers($headers);
$mail = $smtp->send($to, $headers, $body);
;
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("Message successfully sent");
echo "<img src='data:image/png;base64,".$data."'/>";
}
?>
最後にメールを送信したようにメールが正常に送信され、画像が描画されましたが、メールには表示されません。