1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Письма в HTML с графикой и аттачами

Тема в разделе "Основные вопросы по XenForo", создана пользователем Бboris, 09.09.2011.

Загрузка
  1. Бboris

    Бboris Тролль

    Регистрация:
    20.08.11
    Сообщения:
    205
    Симпатии:
    33
    Тема поднималась несколько раз! Но не решилась!:)
    Форум отправляет письма в случае:
    1.Регистрации нового пользователя.
    2.Восстановление пароля.
    3.Ответ в сообщении пользователя (если настроено).

    Как? На примере одного письма (регистрация нового пользователя), сверстать полностью свое HTML письмо с картинками внутри кода и аттачем (001.zip)

    Пример того что надо:

    HTML-письмо.gif
     
  2. CyberAP

    CyberAP Местный

    Регистрация:
    05.10.10
    Сообщения:
    2 604
    Симпатии:
    1 660
    Версия XF:
    1.5.10
    Изучаете табличную вёрстку и делаете. Всё просто.
     
    Romchik® нравится это.
  3. Бboris

    Бboris Тролль

    Регистрация:
    20.08.11
    Сообщения:
    205
    Симпатии:
    33
    Рома! Вот Вам и пример (только что в личке обсуждалось ...)
    Когда юзер (в данном случае CyberAP) начинает в теме развивать флуд!

    Что скажите Роман? :)
     
  4. Pepelac

    Pepelac Продам луц в бутылках

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
    Ну, если вы не знакомы со спецификой верстки шаблонов для писем, то изучить вам ее придется, так что это не флуд.

    Касательно вашей проблемы. Вам надо найти нужную фразу (к примеру user_email_confirmation_body_html) и вставить туда свой шаблон.

    А дальше два варианта:
    1. Простой — все изображения и файлы вы цепляете ссылками. То есть в тело письма они добавляться не будут. Если у пользователя отключена в почтовом клиенте возможность загружать изображения по ссылкам, то он увидит лишь каркас письма.
    2. Сложный — писать свой обработчик и пропускать все письма через него. Обработчик будет выдергивать все изображения, файлы, вложенные как ссылки, обрабатывать все это дело и добавлять их в тело письма как вложения. Как это сделать — на просторах интернета материалов много. Как сделать в случае с XF — писать свое дополнение.
     
  5. Бboris

    Бboris Тролль

    Регистрация:
    20.08.11
    Сообщения:
    205
    Симпатии:
    33
    Пепелас!
    Ну Вы то уж точно поняли о чем идет речь и в чем "гвоздь" вопроса?
    Покажите на простом примере например для письма регистрации, как вставить в письмо таблицу 2х2 и одну картинку.
    Что бы пользователь получил это письмо в свой The Bat и возрадовался :).
    Естественно картинка должна быть в самом письме, а не лежать где то на сервере.

    Допустим есть таблица с небольшим форматированием, которую нужно вставить в письмо + пара гифок.
    Для упрощения, предварительно перекодируем графику в b64 и положим в файлы image1_b64.php и image2_b64.php. Для дальнейшего их подключения к шаблону.
    Вот такой бы пример :)

    For CyberAP:

    Код письма.gif
     
  6. Pepelac

    Pepelac Продам луц в бутылках

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
    Простите, но то, что вы хотите ("Естественно картинка должна быть в самом письме") выходит за рамки простого примера. Это как раз вариант номер 2, с написанием своего обработчика. Я вам могу только обозначить шаги обработки.
    1. Загрузить шаблон письма в переменную.
    2. Используюя функцию preg_match_all найти все изображения
    3. В цикле обработать все найденные изображения — получить путь к изображению, сгенерировать для изображения cid, вложить изображение в тело письма, заменить путь к изображению (значение тэга src) на сгенерированный cid.
    4. Если есть архивы, которые надо добавить в тело письма — загрузить их в тело письма (хотя я бы в этом случае их оставлял на сервере и давал бы ссылку на них).
    5. Отправить письмо.
     
  7. CyberAP

    CyberAP Местный

    Регистрация:
    05.10.10
    Сообщения:
    2 604
    Симпатии:
    1 660
    Версия XF:
    1.5.10
    Вот вам инструкции как это всё можно сделать.
    http://habrahabr.ru/blogs/css/127720/
    http://habrahabr.ru/company/sibirix/blog/114472/
    http://habrahabr.ru/company/unisender/blog/115962/

    Как это прикрутить к XenForo уже сказал Pepelac.
     
    Pepelac нравится это.
  8. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    А что он должен был сделать, сверстать за вас? Одно дело просто пример таблицы с 2-мя ячейками и картинкой (который у вас и так есть). Другое дело верстка рассылки. Я верстал как-то, так, чтобы во всех почтовых клиентах выглядело одинаково - это довольно сложно, если не изучить предмет поглубже.

    Сообщением выше - толковые ссылки по верстке рассылок. Либо заказывать на стороне, либо все же вникать самому, ибо это дело не 5-ти минут.
     
  9. Бboris

    Бboris Тролль

    Регистрация:
    20.08.11
    Сообщения:
    205
    Симпатии:
    33
    Да вы ребята не переживайте! Решу этот вопрос по любому!
    Думал, что кто то уже это делал и поделится решением, что бы не тратить лишнее время.

    В свое время под Directmailer 1.6.9 достаточно долго верстал. И сейчас иногда верстаю по просьбам трудящихся :)

    Я знаю, что письма отправленные из Оутлука и Бата, при просмотре на разном ПО, выглядят по разному.
    Вы хотите что бы ваше письмо выглядело, как шедевр?
    Сверстайте красивое письмо и отправьте себе на google.com/mail.ru/yandex.ru/rambler.ru.
    А потом посмотрите через браузер и почтовые программы на свой шедевр.
    И убедитесь, что труды по верстке - спущены в унитаз!

    Но сверстать "правильное письмо", отображающееся пользователю, как Вы задумали можно!
    Правда такая верстка не имеет ничего общего с версткой обычной странички :).

    P.S. Всем спасибо!
     
  10. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    Кстати, в 1.1 письма уже выглядят так:

    110-new-email.jpg
     
    Pepelac нравится это.
  11. Бboris

    Бboris Тролль

    Регистрация:
    20.08.11
    Сообщения:
    205
    Симпатии:
    33
    Разработчики наверняка и сами понимают, что не доделано "в почтовом вопросе".
    По хорошему в админке должна быть вкладка или хотя бы пункт "настройка почты".
    А в разделе "Настройка почты" - вкладки "Письмо регистрации", "Письмо восстановления пароля" и др.
    Открыл например вкладку "Письмо регистрации", а там подобие текстового редактора (как на форуме).
    Пиши себе спокойно свое письмо и вставляй туда зарезервированные переменные.
    Надо вставить картинку - действуй точно так же, как при написании поста на форуме.
    Надо аттач? Загружаешь файл и жмешь на кнопку "Прикрепить".

    Любая домохозяйка "нарисует любое письмо", при наличии такого интерфейса в админке.
    И пусть вставляются такие же ББ-коды из редактора.
    Мыльный обработчик в последствии обработает их как требуется.

    Пара десятков таких доработок и народ в очередь за xenforo будет вставать.:)
     
  12. Pepelac

    Pepelac Продам луц в бутылках

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
    Может я чего-то не понимаю в вашем стремлении напихать всюду картинок и вложений, но когда я после регистрации на ресурсе получу в почту "новогоднюю ёлку" вместо лаконичного уведомления, я свалю с этого ресурса в тот же миг.

    Для "новогодних ёлок" есть сторонние сервисы рассылок. Кроме того, через админку форума можно разослать пользователям любые письма:
    Разослать письма | Панель управления - XenForo.jpg

    Я не ковырял классы, отвечающие за оправку писем, поэтому предположу, что все картинки в этих письмах будут читаться с сервера.
     
  13. Бboris

    Бboris Тролль

    Регистрация:
    20.08.11
    Сообщения:
    205
    Симпатии:
    33
    Ну если можно, то разошлите любое письмо с логотипом форума.

    Относительно "рекламы в письмах" - так у всех крупных ресурсов ее там полно!
    Примеры писем и названий ресурсов приводить?
    На новый год, 23 февраля, 8 марта, день рождения пользователя в конце концов! Отправить письмо с картинкой грех?

    А автоматическая отправка письма пользователю в день рождения?
    Присутствие такой настройка в админке форума - это тоже грех? :)
     
  14. Pepelac

    Pepelac Продам луц в бутылках

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
    Смотрите почту
     
  15. Бboris

    Бboris Тролль

    Регистрация:
    20.08.11
    Сообщения:
    205
    Симпатии:
    33
    Почту проверил, собственно чего ожидал, то и получил.
    CID - ёк :), есть <img src="........................../default/xfr/logo.png" align="left">

    А вот как по идее должно быть:
    Код:
    <body>
    <span style=" font-family:'Courier New'; font-size: 9pt;">Здравствуйте&nbsp;<span style=" font-size: 16pt; color: #ff0000;"><b>Иван Иванович!<br>
    <img width=160 height=160 alt="" hspace=1 vspace=1 src="cid:8E297761.01CC6EFC.4130B395.33411BF0_csseditor"><br>
    <span style=" font-family:'Arial'; font-size: 8pt; color: #c0c0c0;">С уважением Администрация</body>
    Вставка картинки: src="cid:8E297761.01CC6EFC.4130B395.33411BF0_csseditor"
    Соответственно ее отправка в b64 с указанием бондари.
    Полные исходники можно посмотреть в папке входящие (по ФТП), отправив самому себе письмо на админский мыл. Или на Яндексе через просмотр исходников.
     
  16. Pepelac

    Pepelac Продам луц в бутылках

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
    Я это упоминал выше.
     
  17. Бboris

    Бboris Тролль

    Регистрация:
    20.08.11
    Сообщения:
    205
    Симпатии:
    33
    Если в v1.1 не появится толковый функционал по работе с почтой, то придется задуматься о интегрировании стороннего модуля. Подождем пока.
     
  18. Rewon

    Rewon Местный

    Регистрация:
    11.02.12
    Сообщения:
    96
    Симпатии:
    9
    Версия XF:
    1.1.2
    Вставляем код:
    HTML:
    <div style="text-align: center; width: 100%; background-color: #ffffff;">
    <table style="text-align: justify; background-color: #1d3853; border-image: initial; width: 600px; margin: auto; border: 1px solid #e7e7e7;" border="0" cellspacing="0" cellpadding="0" align="center" bgcolor="#1D3853">
    <tbody>
    <tr style="line-height: 0px;">
    <td style="line-height: 0px;" height="38px"><a href="proekti/blog"><img src="http://portaltlt.ru/123.jpg" border="0" width="180" height="65" style="float: left; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 20px; border-image: initial; border: 0px initial initial;" /></a><br /></td>
    </tr>
    <tr>
    <td style="text-align:center" width="600">
    <table style="width: 520px; margin: auto;" border="0" cellspacing="0" cellpadding="0">
    <tbody>
    <tr>
    <td style="padding:20px 0px; text-align:left;">
    <h3 style="text-align: center; "><span style="font-family: georgia, palatino; color: #ffffff; font-size: medium;"><em>Портал Тольятти - Форум Тольятти</em></span></h3>
    </td>
    </tr>
    <tr>
    <td style="background-color: #fff; border: 1px solid #dbdbdb; padding: 20px; width: 500px; margin: auto; margin-top: 15px; margin-bottom: 15px; text-align: left;">
    <h1><span style="font-family: Tahoma, sans-serif; font-size: x-small;"><span style="line-height: 18px;"><span style="color: #141414; font-family: Tahoma, Geneva, sans-serif; line-height: 20px; background-color: #f5f6f7; font-size: medium;"><span style="font-family: Tahoma, Geneva, sans-serif; font-weight: normal;"><span style="font-family: arial; line-height: 20px; background-color: #f5f6f7; font-size: medium;">За что ученым вручают Нобелевские премии? Чтобы объяснить это, несколько нобелевских лауреатов взяли по листу бумаги и попытались с помощью простых схем показать, что именно они...</span><span style="color: #141414;"> </span><span style="color: #ff0000;"><a href="http://portaltlt.ru/threads/%D0%A6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B1%D1%83%D0%BC%D0%B0%D0%B3%D0%B8.287/"><span style="color: #ff0000;">Читай все!</span></a></span></span></span></span></span></h1>
    </td>
    </tr>
    </tbody>
    </table>
    </td>
    </tr>
    <tr style="line-height: 0px;">
    <td style="line-height: 0px;" height="40px"><br /></td>
    </tr>
    </tbody>
    </table>
    </div>
    Получаем письмо:

    333.jpg
     
  19. Максим Бараненков

    Максим Бараненков Активный пользователь

    Регистрация:
    14.05.11
    Сообщения:
    17
    Симпатии:
    1
    Версия XF:
    1.1.1
    почемуто письмо с форума не все корректно отображается.
    кто знает почему? Безымянный.jpg
     
  20. Максим Бараненков

    Максим Бараненков Активный пользователь

    Регистрация:
    14.05.11
    Сообщения:
    17
    Симпатии:
    1
    Версия XF:
    1.1.1
    никто не знает где копать? или так оно и должно? в. 1.1.1
     

Поделиться этой страницей