вставлять динамическое изображение, созданное из GD, в электронную почту с помощью PHP

Для начала я использую следующее:

  • PHP 5.3
  • PHPmailer - для отправки электронной почты stmp с помощью приложений Google
  • GD для создания изображения

  • Я могу взять ранее существовавший файл, добавить текст в этот файл и вывести его в браузер.

  • Я могу отправить электронное письмо с существующим встроенным изображением, используя простые функции в phpmailer.
  • Я НЕ могу динамически изменить первый файл, сохранить его в памяти, а затем вставить ЭТО изображение в свое электронное письмо.

При создании образа я использую очень простой пример сценария:

РЕДАКТИРОВАТЬ

Я изменил свой код следующим образом: кажется, он работает быстрее и легче читается. Однако создается фактический файл, тогда как я бы предпочел временный файл, который я мог бы уничтожить после или просто использовать двоичные данные. Есть ли функция двоичного вывода, похожая на imagegif()?

$photo = imagecreatefromgif('sample.gif');
imagealphablending($photo, true);
$fontsize = 20;
$font = '../times.ttf';
$fontcolor = imagecolorallocate($photo, 0, 0, 0);
$angle = 0;
$x = 100;
$y = 100;
$text = 'THIS IS A BLOB OF TEXT YO!';
imagettftext($photo, $fontsize, $angle, $x, $y, $fontcolor, $font, $text);
imagegif($photo, 'test.gif');

к сожалению, он хочет вывести мой файл в браузер, затем выполнить оставшуюся часть скрипта и отправить электронное письмо (без встроенного изображения).

Я знаю, что, вероятно, упускаю что-то простое, но кто-нибудь сталкивался с этой проблемой раньше?


person JM4    schedule 05.07.2011    source источник
comment
Вам нужно будет закодировать изображение, чтобы его можно было загрузить с URL-адреса данных, или записать его во временный файл, чтобы почтовая библиотека могла его прикрепить.   -  person Marc B    schedule 06.07.2011
comment
IIRC PHPmailer может даже создавать вложения из двоичных данных. Таким образом, строковая переменная может даже сделать это уже.   -  person hakre    schedule 06.07.2011
comment
есть ли у вас какие-либо рекомендации для функций, удаляющих временные файлы, записанные на диск (test.gif в примере выше)   -  person JM4    schedule 06.07.2011
comment
Я забыл упомянуть, я использую unlink();   -  person JM4    schedule 06.07.2011


Ответы (1)