設定された電子メールではなく、電子メール test@domain.invalid が使用される。

問題

  • インスタンス 設定 > 電子メール > 電子メール送信者 特定の電子メール送信者を設定しますが、 test@domain.invalid が使用され、カスタム開発から電子メールを送信しようとすると、次の WARN ログが表示されます:
    • WARN  [liferay/mail-2][MailMessageListener:125] Email test@domain.invalid will be ignored because it is included in mail.send.blacklist
  • Groovy Scriptで確認すると、以下のようになる:
    • out.println(com.liferay.portal.util.PropsValues.ADMIN_EMAIL_FROM_ADDRESS);
    • 出力は test@domain.invalid
  • ただし、 Server Administration -> Properties -> Portal Propertiesadmin.email.from.address の値を確認すると、ポイント1で設定した値が表示されます。

Environment

  • Liferay DXP

解決策

  • PropsKeys.ADMIN_EMAIL_FROM_ADDRESS プロパティから値を使用して電子メール送信者を取得する場合、この値は静的であり、portal-ext.properties で定義されているものから取得されることに注意してください(デフォルト値):
admin.email.from.address=test@domain.invalid
  • Server Administration -> Properties -> Portal Properties, から同じプロパティに対して取得された値は、 portalPreferences テーブルからロードされ、ここで値は最新となります。
  • カスタム開発から正しい値を取得したい場合、2つの選択肢がある:
    1. 直接portal-ext.propertiesの値を正しいものに更新する。
    2. コードを変更し、Liferay がサーバー管理 -> Portal Properties から このコードのの箇所で探しているようにベールを取得します。

追加情報

  • https://github.com/liferay/liferay-portal/blob/master/modules/apps/server/server-admin-web/src/main/java/com/liferay/server/admin/web/internal/display/context/ViewPortalPropertiesDisplayContext.java#

この記事は役に立ちましたか?
1人中0人がこの記事が役に立ったと言っています