【问题标题】:Ignoring null email field in oracle apex mail script忽略 oracle apex 邮件脚本中的空电子邮件字段
【发布时间】:2017-05-18 20:53:39
【问题描述】:

我目前正在为我的公司在 Oracle Apex 中构建人员配备 CRM,我们有一个潜在客户生成表单,允许招聘人员添加任何销售线索。

一旦招聘人员添加了潜在客户,页面就会向指定的销售人员发送一封电子邮件。

现在这是我的问题,我需要让 APEX.MAIL 忽略表单页面上的任何空电子邮件地址字段,因为管理层希望能够分配最多 3 名销售人员来接收该潜在客户,尽管他们可能只分配 1或 2.

如果字段为空,我如何让 APEX.MAIL 忽略销售电子邮件的页面项目。

现在“To”行是 p_to=> :P3_SALESMAN

我希望它的外观是 p_to=> :P3_SALESMAN, :P3_SALESMAN2, :P3_SALESMAN,3,

但如果 :P3_SALESMAN2 或 :P3_SALESMAN3 为空,我希望 APEX.MAIL 忽略它们。

或者即使字段为空也会导致问题?

【问题讨论】:

    标签: oracle-apex oracle-apex-5


    【解决方案1】:

    您没有说明您是如何调用 APEX.MAIL...

    由于 APEX.MAIL 是一个 PLSQL pkg,一个建议是编写一个包装器 PLSQL pkg,它将查看您传入的参数 (P3_SALESMAN1.2,3...) 并使用 If Else 逻辑将字段评估为是否为空,然后确定是否调用 APEX.MAIL pkg。

    在 APEX 中编写内联 PLSQL 很快就会成为维护和可重用性难题,因此您应该考虑始终使用 PLSQL 存储的 Proc/Func 来封装您的逻辑并从页面调用它。

    【讨论】:

    • 我只是使用 HTML 电子邮件正文并像这样使用 APEX.MAIL.SEND。 l_id := APEX_MAIL.SEND( p_to => P3_SALESMAN, p_from => 'leads@company.com', p_subj => '已收到来自 ' || :P3_RECRUITER_NAME || chr(10), p_body => lc_Message 的提示, p_body_html => L_BODY); APEX_MAIL.PUSH_QUEUE();结束;
    【解决方案2】:

    就像 Joe 提到的那样,使用存储过程比编写内联 pl/sql 更好,这是我很难学会的。

    关于建立电子邮件地址列表,我想不出另一种方法,但使用 if-else 条件,并将电子邮件地址添加到字符串中,如果它们存在并将最终字符串传递给 @ 中的 p_to 987654322@.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-01
      • 1970-01-01
      • 2016-12-09
      • 2018-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多