Доброго,
никак не могу заставить работать umiMail в кастомных макросах. В отдельном файле - c подключением standalone.php все работает нормально. Как только пы таюсь тоже самое сделать в custom.php (без подключения standalone) письма перестают ходить.
Если делать в custom отправку почты напрямую, без umiMail то почта тоже ходит нормально.
Что я не так делаю?
$oMail = new umiMail();
var_dump($oMail);
ошибка
Самый простой способ понять это - увидеть как это реально работает.
Откройте файл /classes/modules/content/__events.php и найдите там umiMail
Вы увидите, что для отправки необходимо:
1. заполнить нужные поля
2. отправить.
В вашем примере нет ни того, ни другого.
Вот пример кода:
$mail_message = new umiMail();
$from = $regedit->getVal("//settings/email_from");
$mail_message->setFrom($from);
$mail_message->setPriorityLevel("high");
$mail_message->setSubject(getLabel('label-notification-mail-header'));
list ($body) = def_module::loadTemplatesForMail("mail/notify", "body");
$block['notify_header'] = getLabel('label-notification-mail-header');
$block['page_header'] = $ePage->getName();
$block['publish_comments'] = $publishComments;
$domain = domainsCollection::getInstance()->getDomain($ePage->getDomainId());
$page_host = getSelectedServerProtocol() . "://".$domain->getHost().umiHierarchy::getInstance()->getPathById($page_id);
$block['page_link'] = $page_host;
$mail_html = def_module::parseTemplateForMail($body, $block, $page_id);
$mail_message->addRecipient($user_email);
$mail_message->setContent($mail_html);
$mail_message->commit();
$mail_message->send();
Не много не поняли Вы меня, у меня в custom.php
$mail = new umiMail();
var_dump($mail);
выдает ошибку а не umiMail. Должно быть что-то типа
object(umiMail)#4 (24) { ["template":"umiMail":private]=> string(7) "default" ["is_commited":"umiMail":private]=>
Проверяйте, правильно ли обозначен класс, правильно ли обозначен метод внутри класса. Проверяйте наличие umiMail (может у вас старая UMI и в ней как-то иначе реализована отправка писем).
<?php
class custom extends def_module
{
public function sender($method_name, $args) {
$oMail = new umiMail();
var_dump($oMail)
}
.....