[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Контроль просмотра графики
Страницы: 1, 2
Владимир55
В письме имеется рекламный баннер, который показывается традиционным кодом

<img border="0" src="http://php.ru/350.gif" width="60" height="35">


Баннер у каждого письма свой, из чего следует, что открытие этого баннера на компе получаетеля изначает знакомство этого получателя с письмом.

Никак не придумаю, каким образом контролировать на сервере, что данный баннер был запрошен и считан!

Вообще-то, можно это сделать?

vagrand
Можно. Отдавайте изображение через php скрипт.

_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
FatCat
Именно для того, чтобы такие "умники" меня не сосчитали, я и пользуюсь опера-мейлером: пока я не нажму кнопку "показать графику", никаких запросов ни на какие сервера не отправляется.

_____________
Бесплатному сыру в дырки не заглядывают...
vagrand
FatCat
Ну это уже вопрос из другой плоскости.

_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Владимир55
Цитата (vagrand @ 24.01.2015 - 11:11)
Отдавайте изображение через php скрипт.

Можете пояснить эту мысль?
killer8080
Цитата (Владимир55 @ 24.01.2015 - 13:57)
Баннер у каждого письма свой, из чего следует, что открытие этого баннера на компе получаетеля изначает знакомство этого получателя с письмом.
ничего это не означает, все крупные почтовики внешнюю графику из письма закчивают в свой кеш. Пользователь читая письмо откроет картинку из кеша почтовика. Проверить открыл ли юзер письмо таким путем неудастся.
vagrand
killer8080
Думаю это довольно легко проверить, отослав письма с баннером на свои ящики.

Владимир55
Ну примерно вот так:

// Read file info
list($width, $height, $imageType) = getimagesize($path);

// Prepare images content types
$imageTypes = array(
IMAGETYPE_GIF => 'image/gif',
IMAGETYPE_JPEG => 'image/jpeg',
IMAGETYPE_PNG => 'image/png',
IMAGETYPE_WBMP => 'image/vnd.wap.wbmp'
);

// Send header
header('Content-Type: ' . $imageTypes[$imageType]);

// Send file
readfile($path);

// End script
exit;


_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Владимир55
Я тоже в этом направлении экпериментировал, но вот этот параметр меня обеспокоил:
header('Content-Type: ' . $imageTypes[$imageType]);


header наверняка даст ошибку, поскольку возможен вывод раньше его.

Ведь так?
vagrand
Владимир55
Цитата
header наверняка даст ошибку, поскольку возможен вывод раньше его.


Что значит возможен? Хидеры должны отправляться до "тела". Вот и отправляйте их до остального вывода.

_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Владимир55
Многие смотрят почту в браузерах и различных почтовых программах, поведение которых непредсказуемо. Поэтому от хидеров я сразу отказался.
vagrand
А причем тут хидеры?

_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
sergeiss
Цитата (Владимир55 @ 24.01.2015 - 17:02)
Многие смотрят почту в браузерах и различных почтовых программах, поведение которых непредсказуемо. Поэтому от хидеров я сразу отказался.

Хедеры, о которых говорит vagrand, относятся к картинке, а не ко всей почте.

Тут речь идет о том, чтобы динамически формировать картинку. По адресу типа такого http://yousite.ru/pic.php?23847298798, где набор цифр уникальный, а сам скрипт создает картинку. Тогда и кэшировать никто не будет, и изнутри скрипта, создающего картинку, можно получить инфу о том, кто запросил. И сохранить её.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
killer8080
Цитата (vagrand @ 24.01.2015 - 15:40)
killer8080
Думаю это довольно легко проверить, отослав письма с баннером на свои ящики.

Проверял несколько лет назад, уже тогда все популярные почтовые сервисы подменяли пути к картинкам в html письмах. Сейчас специально посмотрел у себя в ящике, все письма с картинками тянут их из cache.mail.yandex.net. Так что этот метод может проканать только на корпоративной почте, где письма клиент получает в исходном, не фильтрованном виде.
Цитата (sergeiss @ 24.01.2015 - 17:51)
Тут речь идет о том, чтобы динамически формировать картинку. По адресу типа такого http://yousite.ru/pic.php?23847298798, где набор цифр уникальный, а сам скрипт создает картинку. Тогда и кэшировать никто не будет,

Мало вероятно, почтовикам пофиг какого вида урл картинок. smile.gif
FatCat
Цитата (killer8080 @ 24.01.2015 - 19:36)
Сейчас специально посмотрел у себя в ящике, все письма с картинками тянут их из cache.mail.yandex.net.

Но мы не знаем, тянет при поступлении письма или при просмотре.
Да и в любом случае, даже если при поступлении - это достоверная информация о моем ящике что ящик жив и принял письмо.
Всегда знал, что яндекс.почта дерьмо, но не думал, что настолько...

_____________
Бесплатному сыру в дырки не заглядывают...
Владимир55
Цитата (killer8080 @ 24.01.2015 - 16:36)
Проверял несколько лет назад, уже тогда все популярные почтовые сервисы подменяли пути к картинкам в html письмах. Сейчас специально посмотрел у себя в ящике, все письма с картинками тянут их из cache.mail.yandex.net.


Вот фрагмент кода баннера весьма популярной рассылки subscribe.ru
<a href="http://subs.link.subscribe.ru/subscribe/560747/430967/hscope.daily.virgo,1319/20150122143625">
<img
src="http://image.subscribe.ru/advert/84/316743/img.png" wwidth=600 hheight=150 border=0></a>

Я получаю ее через почту Яндекса и через почту mail.ru. И вполне нормально проходит.

Цитата
По адресу типа такого http://yousite.ru/pic.php?23847298798, где набор цифр уникальный, а сам скрипт создает картинку. Тогда и кэшировать никто не будет,

Мало вероятно, почтовикам пофиг какого вида урл картинок.

В сети есть статья, в которой утверждается, что файлы такого типа почта не любит. В особенности Гугл - он их просто игнорирует.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.