Osgi MessageGateway显示为空

Osgi MessageGateway显示为空,osgi,aem,Osgi,Aem,我正在尝试在参与者步骤中发送电子邮件。我写了一个电子邮件服务,它使用消息网关发送电子邮件 但是MessageGateway=this.messageGatewayService.getGateway(Email.class);此行将messageGateway设置为null 我浏览了很多帖子,到处都有人提到,如果在Day Cq邮件服务中未正确提及SMTP详细信息,那么它将为空 但是我已经正确地配置了它,因为如果我在动态步骤中选择senEmail复选框,那么AEM可以使用此选项发送默认电子邮件。因

我正在尝试在参与者步骤中发送电子邮件。我写了一个电子邮件服务,它使用消息网关发送电子邮件

但是MessageGateway=this.messageGatewayService.getGateway(Email.class);此行将messageGateway设置为null

我浏览了很多帖子,到处都有人提到,如果在Day Cq邮件服务中未正确提及SMTP详细信息,那么它将为空

但是我已经正确地配置了它,因为如果我在动态步骤中选择senEmail复选框,那么AEM可以使用此选项发送默认电子邮件。因此,我相信SMTP不会有错。我们是否还需要其他东西,以便messageGateway不会显示为null。我使用的是AEM 6.1 SP3

谢谢


Tushar

在环境中重新启动com.day.cq.cq-mailer包是对我有效的解决方案

MessageGatewayService包含一组网关。如果删除或移动每日CQ邮件服务配置,则会向哈希集中添加一个新网关。messageGatewayService.getGateway()只从hashSet检索一个DefaultMailService,它可以是一个内部带有cfg null的服务,尽管存在一个配置正确的服务。清理此问题的唯一方法是重新启动捆绑包


对DefaultMailService配置的任何后续更新都可以正常工作。只有在您删除/移动环境中的配置时才会发生这种情况。

我发现某些版本中的Email.class存在问题。你能试试HtmlEmail.class吗?我也用过HtmlEmail.class,即使这样也不行。改变日志级别来跟踪,看看里面是否有有用的信息。通常情况下,这是一些糟糕的配置。