Я пытаюсь добавить логический хук для писем, синхронизированных с почтовым сервером IMAP.
В конце я хочу вызвать ловушку, когда новая почта синхронизируется, и проверить почту отправителей, если она сохранена в одной из учетных записей.
Проблема заключается в том, что синхронизированные письма не сохраняются (по крайней мере, не в модуле InboundMail или Emails), поэтому после / before_save не срабатывает.
Вот мой крючок от logic_hooks.php
:
$hook_array['after_save'][] = Array(1, 'Create Lead', 'custom/modules/InboundEmail/LeadLogicHook.php', 'LeadLogicHook', 'handleLead');
Это не работает в InboundEmail и модуле электронной почты.
И LeadLogicHook
:
<?php
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
class LeadLogicHook
{
function handleLead($bean, $event, $arguments)
{
_ppl("Test");
}
}
Это возможно даже с помощью логических хуков?
РЕДАКТИРОВАТЬ: добавлен код
Нет необходимости в логике или любом другом пользовательском коде. Sugar / SuiteCRM использует задание планировщика для получения электронной почты с сервера IMAP. Вы можете проверить функцию задания планировщика (function :: pollMonitoredInboxes), которая выбирает электронные письма. Это содержит код, который используется для получения электронной почты. отслеживать обратный код, и вы найдете все, что вы хотите.
Я думаю, что это возможно, если после / before_save не срабатывает, попробуйте некоторые аналогичные логические хуки. Ниже приведены некоторые логические приемы, которые, я думаю, могут помочь.
Прокомментируйте, если вы хотите больше деталей, например, как использовать логические хуки e.t.c.
Какую версию сахара вы используете?
Например, вы можете сгенерировать ловушку after_save в модуле E-mail вместо inboundEmail
Было бы так:
$hook_array ['after_save'] [] = Array (1,'Create Lead','custom/modules/Emails/LeadLogicHook.php','LeadLogicHook','handleLead');
Сделайте это и посмотрите, сработает ли электронная почта!
Другой возможностью было бы использовать after_relationship_add, потому что обычно электронная почта связана с каким-либо лидерством, учетной записью или контактом. попытайтесь создать хук в модуле, с которым связано ваше электронное письмо, и сгенерируйте оттуда операцию
Последняя возможность (я не рекомендую это) — создать в вашей базе данных триггер, когда данные попадают в таблицу, выполнить проверку и предпринять некоторые действия.