【问题标题】:Liferay 6.2 - No Invitation mail sent from Calendar CE PortletLiferay 6.2 - 没有从日历 CE Portlet 发送的邀请邮件
【发布时间】:2015-08-15 22:23:47
【问题描述】:

我发现 Calendar CE portlet 有一个奇怪的行为。我只是想知道这背后的原因。

我的 Calendar CE portlet(一个与 liferay 6.2 GA3 软件包一起提供的)工作正常,但突然停止发送邀请电子邮件通知(RSVP 链接)。控制台中没有显示错误。然后过了一会儿我发现在 Portal-ext.properties 中使用下面的代码会导致这个问题。

    # Set whether or not private layouts are enabled. Set whether or not private
# layouts should be auto created if a user has no private layouts. If
# private layouts are not enabled, then the property
# "layout.user.private.layouts.auto.create" is assumed to be false.

layout.user.private.layouts.enabled=false
layout.user.private.layouts.auto.create=false

# Set whether or not public layouts are enabled. Set whether or not public
# layouts should be auto created if a user has no public layouts. If public
# layouts are not enabled, then the property
# "layout.user.public.layouts.auto.create" is assumed to be false.

layout.user.public.layouts.enabled=false
layout.user.public.layouts.auto.create=false

我使用上面的代码只是为了禁用下拉菜单中的“我的个人资料”和“我的仪表板”按钮(右上角)。并禁用私人页面。

我对此进行了测试。每当我在 portal-ext.properties 中使用上述代码时,日历都无法发送任何电子邮件。所有其他电子邮件功能都一样。

请帮我解决这个问题。

参考号:https://www.liferay.com/community/forums/-/message_boards/message/54631418 谢谢。

【问题讨论】:

标签: calendar liferay liferay-6


【解决方案1】:

经过一番调查,我认为我可以将问题归结为 com.liferay.calendar.notification.NotificationTemplate(Lines 182-184) 中的以下几行:

    PortletURL portletURL = PortletURLFactoryUtil.create(
        serviceContext.getRequest(), PortletKeys.CALENDAR,
        themeDisplay.getPlid(), ActionRequest.RENDER_PHASE);

这里发生了什么?那么,Liferay 想要在通知电子邮件中发送一个指向日历的链接。为此,他们必须评估 portlet 所在的位置。 (意思是,你把它放在哪里;))由于用户没有任何页面(因此页面上没有日历 portlet),此方法即将失败。老实说,我无法为您提供解决问题的解决方案,但至少我们有一个想法,为什么会发生这种情况。如果这真的是问题的根源,您可以从一些 try catch 块和一些调试输出开始进一步调查。但我非常有信心这些事情是相互关联的。

【讨论】:

    猜你喜欢
    • 2014-01-26
    • 2020-11-18
    • 2014-05-04
    • 2017-09-02
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 2015-10-10
    • 1970-01-01
    相关资源
    最近更新 更多