从 IMAP 服务器同步的电子邮件上的逻辑挂钩
Logic Hook on Emails synced from IMAP Server
我正在尝试为从 IMAP 邮件服务器同步的电子邮件添加逻辑挂钩。
最后,我想在同步新邮件时触发挂钩,并检查发件人邮件是否保存在其中一个帐户中。
问题是同步邮件不会被保存(至少在 InboundMail 或电子邮件模块中不会)所以 after/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");
}
}
这甚至可以使用逻辑挂钩吗?
编辑:添加了一些代码
我认为这是可能的,如果 after/before_save 没有触发然后尝试一些类似的逻辑挂钩。以下是我认为可以提供帮助的一些逻辑挂钩。
- before_retrieve
- after_retrieve
- before_restore
- after_restore
- server_roundtrip
- after_session_start
- after_entry_point
如果您想了解更多详细信息,例如如何使用逻辑挂钩,请发表评论e.t.c。
您使用的是什么版本的糖?
例如,您可以在电子邮件模块中生成一个 after_save 挂钩,而不是 inboundEmail
会是这样的:
$hook_array ['after_save'] [] = Array (1,'Create Lead','custom/modules/Emails/LeadLogicHook.php','LeadLogicHook','handleLead');
执行此操作,看看电子邮件是否触发!
另一种可能性是使用 after_relationship_add
,因为电子邮件通常与某些潜在客户、客户或联系人相关联。尝试在您的电子邮件关联的模块中创建一个挂钩,并从那里生成操作
最后一种可能性(我不建议这样做)是在数据进入 table 时在您的数据库中创建一个触发器,执行检查并采取一些措施
无需逻辑挂钩或任何其他自定义代码。 Sugar/SuiteCRM 使用调度程序作业从 IMAP 服务器获取电子邮件。您可以检查获取电子邮件的调度程序作业函数 (function::pollMonitoredInboxes)。包含用于电子邮件提取的代码。回溯代码,你会找到你想要的一切。
我正在尝试为从 IMAP 邮件服务器同步的电子邮件添加逻辑挂钩。 最后,我想在同步新邮件时触发挂钩,并检查发件人邮件是否保存在其中一个帐户中。
问题是同步邮件不会被保存(至少在 InboundMail 或电子邮件模块中不会)所以 after/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");
}
}
这甚至可以使用逻辑挂钩吗?
编辑:添加了一些代码
我认为这是可能的,如果 after/before_save 没有触发然后尝试一些类似的逻辑挂钩。以下是我认为可以提供帮助的一些逻辑挂钩。
- before_retrieve
- after_retrieve
- before_restore
- after_restore
- server_roundtrip
- after_session_start
- after_entry_point
如果您想了解更多详细信息,例如如何使用逻辑挂钩,请发表评论e.t.c。
您使用的是什么版本的糖?
例如,您可以在电子邮件模块中生成一个 after_save 挂钩,而不是 inboundEmail
会是这样的:
$hook_array ['after_save'] [] = Array (1,'Create Lead','custom/modules/Emails/LeadLogicHook.php','LeadLogicHook','handleLead');
执行此操作,看看电子邮件是否触发!
另一种可能性是使用 after_relationship_add
,因为电子邮件通常与某些潜在客户、客户或联系人相关联。尝试在您的电子邮件关联的模块中创建一个挂钩,并从那里生成操作
最后一种可能性(我不建议这样做)是在数据进入 table 时在您的数据库中创建一个触发器,执行检查并采取一些措施
无需逻辑挂钩或任何其他自定义代码。 Sugar/SuiteCRM 使用调度程序作业从 IMAP 服务器获取电子邮件。您可以检查获取电子邮件的调度程序作业函数 (function::pollMonitoredInboxes)。包含用于电子邮件提取的代码。回溯代码,你会找到你想要的一切。