За последние 24 часа нас посетили 72317 программистов и 36541 робот. Сейчас ищут 2315 программистов ...

HTML письмо

Тема в разделе "PHP для новичков", создана пользователем westalex, 13 апр 2017.

  1. westalex

    westalex Новичок

    С нами с:
    13 апр 2017
    Сообщения:
    1
    Симпатии:
    0
    Всем привет. Помогите решить задачу!
    Есть jomla 3
    Задача - отправлять html письмо о подтверждении регистрации пользователя (где ему надо по ссылке пройти)

    копаю в таком направлении
    есть следующий код
    Код (Text):
    1.     $emailBody = $emailBody = JText::sprintf(
    2.                     'COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY',
    3.                     $data['name'],
    4.                     $data['sitename'],
    5.                     $data['activate'],
    6.                     $data['siteurl'],
    7.                     $data['username'],
    8.                     $data['password_clear']
    этот код формирует тела письма COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY берет из языкового файла и добавляет имя ссылку логин и пароль в общем.
    далее
    Код (Text):
    1. $return = JFactory::getMailer()->sendMail($data['mailfrom'], $data['fromname'], $data['email'], $emailSubject, $emailBody);
    этот код отправляет письмо по реквизитам и содержит тело письма $emailBody
    Я начеркал $emailBody для теста
    Код (Text):
    1. $emailBody = '<i>asdasdasd, ';
    2. $emailBody .= $data['name'];
    3. $emailBody .= '</i>';
    решил проверить сработает ли html тег на курсив. но в письме пришел тег, т.е. письмо выглядит "
    <i>Здравствуйте, user</i>". Хотя по идее должен быть курсив а тег виден только через код.
    Накопал в инете следующее
    Код (Text):
    1. # определяем необходимые параметры
    2. $subject = "You have a new message";
    3. $body = "Here is the body of your message.";
    4. $to = "
    5. someone@yourdomain.com";
    6. $from = array("
    7. me@mydomain.com", "Brian Edgerton");
    8. # создаем объект JMail класса
    9. $mailer = JFactory::getMailer();
    10. # присваиваем отправителя
    11. $mailer->setSender($from);
    12. # определяем получателя, тему и тело письма
    13. $mailer->addRecipient($to);
    14. $mailer->setSubject($subject);
    15. $mailer->setBody($body);
    16. # если хотите отправить письмо как HTML
    17. $mailer->isHTML(true);
    18. # отправляем письмо
    19. $mailer->send();
    Как понял эта функция $mailer->isHTML(true); активирует html код. Даже если это так, то не могу понять как вставить ее в мою схему. Нужна помощь!!!
    --- Добавлено ---
    попробовал следующий вариант
    Код (Text):
    1. $return = JFactory::getMailer()->sendMail($data['mailfrom'], $data['fromname'], $data['email'], $emailSubject, $emailBody, isHTML(true));
    регистрация по базе прошла, а письмо не пришло
    --- Добавлено ---
    проблема решена!
    Код (Text):
    1. $return = JFactory::getMailer()->sendMail($data['mailfrom'], $data['fromname'], $data['email'], $emailSubject, $emailBody);
    расписал следующим образом
    Код (Text):
    1. $return = JFactory::getMailer();
    2. $return->setSender($data['mailfrom']);
    3. $return->addRecipient($data['email']);
    4. $return->setSubject($emailSubject);
    5. $return->setBody($emailBody);
    6. $return->isHTML(true);
    7. $return->send();