freescout-help-desk / freescout

FreeScout — Free self-hosted help desk & shared mailbox (Zendesk / Help Scout alternative)
https://freescout.net
GNU Affero General Public License v3.0
2.86k stars 480 forks source link

Workflows - Subject rules won't trigger when fetching from Microsoft 365 #3189

Closed pool-alpin closed 1 year ago

pool-alpin commented 1 year ago

PHP version: 8.2.5 FreeScout version: 1.8.85

I'm having problems with workflow rules for the mail subject not triggering and attributed them to a faulty server setup. However, after installing on several different test systems, I can narrow down the problem to happening with Microsoft 365 accounts only.
With gmail and icloud accounts, everything works as expected. Are there Microsoft 365 users out there experiencing the same problem?
Below is a fetch-log with a message that didn't trigger the workflow, hoping this helps to investigate this further.

<< * OK The Microsoft Exchange IMAP4 service is ready. [RgBSADAAUAAyADgAMQBDAEEAMAAyADAAMQAuAEQARQBVAFAAMgA4ADEALgBQAFIATwBEAC4ATwBVAFQATABPAE8ASwAuAEMATwBNAA==]
>> TAG1 AUTHENTICATE XOAUTH2 dXNlcj1lYnVzaW5lc3NAcG9vbC1hbHBpbi5jb20BYXV0aD1CZWFyZXIgZXlKMGVYQWlPaUpLVjFRaUxDSnViMjVqWlNJNklsazBiSFY1YjNSeFFreFZSazlYTFRac1p6ZGpSMUpFVERSTE9YQlJaVXBKU2kxeVRYcHJSekZ3YkRnaUxDSmhiR2NpT2lKU1V6STFOaUlzSW5nMWRDSTZJaTFMU1ROUk9XNU9VamRpVW05bWVHMWxXbTlZY1dKSVdrZGxkeUlzSW10cFpDSTZJaTFMU1ROUk9XNU9VamRpVW05bWVHMWxXbTlZY1dKSVdrZGxkeUo5LmV5SmhkV1FpT2lKb2RIUndjem92TDI5MWRHeHZiMnN1YjJabWFXTmxMbU52YlNJc0ltbHpjeUk2SW1oMGRIQnpPaTh2YzNSekxuZHBibVJ2ZDNNdWJtVjBMMlJtTVRGbE5EWmxMVGN5TldNdE5HTXlPQzA1T1RVd0xUazFOVGRtTmpBeU0yWmtaaThpTENKcFlYUWlPakUyT0RrME9UWXhPRGdzSW01aVppSTZNVFk0T1RRNU5qRTRPQ3dpWlhod0lqb3hOamc1TlRBeE1UUTVMQ0poWTJOMElqb3dMQ0poWTNJaU9pSXhJaXdpWVdsdklqb2lRVlJSUVhrdk9GUkJRVUZCTHpsRGRqaEdPVTVRYldSUVUyMW5VVXR6WTBsTFdrZHVNV1JDUTFSU1NYTmtZWEF5VG5aRVZtWTJPR1pHVFd0YVNtSjBNbGhuVDA1TU5qVkhTMkZDYXlJc0ltRnRjaUk2V3lKd2QyUWlYU3dpWVhCd1gyUnBjM0JzWVhsdVlXMWxJam9pUm5KbFpYTmpiM1YwTFU5QmRYUm9JaXdpWVhCd2FXUWlPaUppTURZeE1EQTBOUzB6Tm1NNUxUUXlOVGN0T1dWbVpTMDJaVEJtTmpVeU1EQmxOR0lpTENKaGNIQnBaR0ZqY2lJNklqRWlMQ0psYm1ad2IyeHBaSE1pT2x0ZExDSnBjR0ZrWkhJaU9pSXhPVFF1TWpBNExqWXVPRFFpTENKc2IyZHBibDlvYVc1MElqb2lUeTVEYVZKb1dWUnNhVTVxYXpGUFV6RnBUbnBqZDB4VVVtcE5lbU4wVDFSQmQxbHBNRE5QUkVadFRXMVZNVTU2Um10TlJFbFRTa2RTYlUxVVJteE9SRnBzVEZSamVVNVhUWFJPUjAxNVQwTXdOVTlVVlhkTVZHc3hUbFJrYlU1cVFYbE5NbHByV21odldWcFhTakZqTW14MVdsaE9lbEZJUW5aaU1uZDBXVmQ0ZDJGWE5IVlpNamwwU1Vnd1BTSXNJbTVoYldVaU9pSmxRblZ6YVc1bGMzTWlMQ0p2YVdRaU9pSmhZVGxpTmprMU9TMWlOemN3TFRSak16Y3RPVEF3WWkwM09ERm1NbVUxTnpGa01ESWlMQ0p3ZFdsa0lqb2lNVEF3TXpJd01ESTBSREpGUlRjMlF5SXNJbkpvSWpvaU1DNUJVamhCWW5WUlVqTXhlSGxMUlhsYVZVcFdXRGxuU1Y4emQwbEJRVUZCUVVGUVJWQjZaMEZCUVVGQlFVRkJRV1pCU1dNdUlpd2ljMk53SWpvaVNVMUJVQzVCWTJObGMzTkJjMVZ6WlhJdVFXeHNJRTFoYVd3dVVtVmhaQ0JOWVdsc0xsSmxZV1F1VTJoaGNtVmtJRTFoYVd3dVVtVmhaRUpoYzJsaklFMWhhV3d1VW1WaFpGZHlhWFJsSUUxaGFXd3VVbVZoWkZkeWFYUmxMbE5vWVhKbFpDQk5ZV2xzTGxObGJtUWdUV0ZwYkM1VFpXNWtMbE5vWVhKbFpDQlRUVlJRTGxObGJtUWdWWE5sY2k1U1pXRmtJaXdpYzJsa0lqb2lObVpsTTJVME4yUXRNalJpTnkwME16YzFMV0poTTJVdE16QXpPV0ZsTlRRM1pESTBJaXdpYzNWaUlqb2ljVjlCYzBwT1dUVktjVGxvVVhSTmRTMXZWVzFhZW1sQlZFUjZVREJLTkhvMUxYZE5kRVZLUjBOUGR5SXNJblJwWkNJNkltUm1NVEZsTkRabExUY3lOV010TkdNeU9DMDVPVFV3TFRrMU5UZG1OakF5TTJaa1ppSXNJblZ1YVhGMVpWOXVZVzFsSWpvaVpXSjFjMmx1WlhOelFIQnZiMnd0WVd4d2FXNHVZMjl0SWl3aWRYQnVJam9pWldKMWMybHVaWE56UUhCdmIyd3RZV3h3YVc0dVkyOXRJaXdpZFhScElqb2lhMHQ2YzJrMU5rTjBNR0ZSV2s4eFJrUklWVzlCUVNJc0luWmxjaUk2SWpFdU1DSXNJbmRwWkhNaU9sc2lZamM1Wm1KbU5HUXRNMlZtT1MwME5qZzVMVGd4TkRNdE56WmlNVGswWlRnMU5UQTVJbDE5LmNvejVRckwxRUFFR1QxejgzS0ZvcXI0cjljeWJnT3lPeWhmLWgxMG5MV2xKWXBRYWNZN1k0NXJFUnNOUWtvcUM1SlRWU1BwbHZnZ2RQR1R6V2J2R2QwTHBmbjluTWRkU2ZuXzh6ZUVodE9VTWpJRkMyNFlWQWd3MEx4ZzZnTFBJaDNyVi1yN19sblBKT0JudV9ZdDkxcm8wejJfcGdiamJBMW14VlpOUXlnYWUxWE43QmNGWlBUeDZJVHNyQi1MMlF2ZnlqUDhiWkhsWHpLb2Z4NF93YmtZOEFkTnpvb1puSHJvWFlhMDVKVEE3MGhOX3ZVbVQ2dTUyenBpM0tBUlFWOFFTSkdSSTFveWNEMklpREphZFRIZ3Bxa2dQMmczbXhiOVpuVTJSQTJ1TWd6VjBfZDRJU1hrZGJVc1IyUnZmbXlnRE1LTzBJdnEyblVJdzloVUJuUQEB
<< TAG1 OK AUTHENTICATE completed.
>> TAG2 LIST "" "*"
<< * LIST (\HasNoChildren) "/" Archiv
<< * LIST (\HasNoChildren) "/" Aufgaben
<< * LIST (\HasNoChildren) "/" Dummy-Archiv
<< * LIST (\HasNoChildren \Drafts) "/" Entw&APw-rfe
<< * LIST (\Marked \HasNoChildren) "/" Freescout-Mail
<< * LIST (\HasNoChildren \Trash) "/" "Gel&APY-schte Elemente"
<< * LIST (\HasNoChildren \Sent) "/" "Gesendete Elemente"
<< * LIST (\HasNoChildren) "/" Journal
<< * LIST (\HasNoChildren \Junk) "/" Junk-E-Mail
<< * LIST (\HasNoChildren) "/" Kalender
<< * LIST (\HasChildren) "/" Kontakte
<< * LIST (\HasNoChildren) "/" Lobster-Error
<< * LIST (\HasNoChildren) "/" Notizen
<< * LIST (\HasNoChildren) "/" Postausgang
<< * LIST (\Marked \HasNoChildren) "/" INBOX
<< * LIST (\HasChildren) "/" "Verlauf der Unterhaltung"
<< TAG2 OK LIST completed.
[2023-07-16 09:24:07] Folder: INBOX
>> TAG3 SELECT "INBOX"
<< * 15 EXISTS
<< * 1 RECENT
<< * FLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent)
<< * OK [PERMANENTFLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent)] Permanent flags
<< * OK [UNSEEN 15] Is the first unseen message
<< * OK [UIDVALIDITY 14] UIDVALIDITY value
<< * OK [UIDNEXT 2519] The next unique identifier value
<< TAG3 OK [READ-WRITE] SELECT completed.
>> TAG4 UID SEARCH SINCE "13-Jul-2023" UNSEEN
<< * SEARCH 2518
<< TAG4 OK SEARCH completed.
>> TAG5 UID FETCH 2518 (FLAGS)
<< * 15 FETCH (FLAGS (\Recent) UID 2518)
<< TAG5 OK FETCH completed.
>> TAG6 UID FETCH 2518 (RFC822.HEADER)
<< * 15 FETCH (RFC822.HEADER {8748}
<< MIME-Version: 1.0
<< Received: from DB8PR09MB3916.eurprd09.prod.outlook.com (2603:10a6:10:12b::17)
<<  by AS8PR09MB5902.eurprd09.prod.outlook.com with HTTPS; Sun, 16 Jul 2023
<<  09:22:29 +0000
<< Received: from DB8PR04CA0027.eurprd04.prod.outlook.com (2603:10a6:10:110::37)
<<  by DB8PR09MB3916.eurprd09.prod.outlook.com (2603:10a6:10:12b::17) with
<<  Microsoft SMTP Server (version=TLS1_2,
<<  cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6588.27; Sun, 16 Jul
<<  2023 09:22:28 +0000
<< Received: from DU6PEPF00009527.eurprd02.prod.outlook.com
<<  (2603:10a6:10:110:cafe::a0) by DB8PR04CA0027.outlook.office365.com
<<  (2603:10a6:10:110::37) with Microsoft SMTP Server (version=TLS1_2,
<<  cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6588.31 via Frontend
<<  Transport; Sun, 16 Jul 2023 09:22:28 +0000
<< Authentication-Results: spf=pass (sender IP is 209.85.160.44)
<<  smtp.mailfrom=gmail.com; dkim=pass (signature was verified)
<<  header.d=gmail.com;dmarc=pass action=none header.from=gmail.com;compauth=pass
<<  reason=100
<< Received-SPF: Pass (protection.outlook.com: domain of gmail.com designates
<<  209.85.160.44 as permitted sender) receiver=protection.outlook.com;
<<  client-ip=209.85.160.44; helo=mail-oa1-f44.google.com; pr=C
<< Received: from mail-oa1-f44.google.com (209.85.160.44) by
<<  DU6PEPF00009527.mail.protection.outlook.com (10.167.8.8) with Microsoft SMTP
<<  Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
<<  15.20.6609.20 via Frontend Transport; Sun, 16 Jul 2023 09:22:28 +0000
<< Received: by mail-oa1-f44.google.com with SMTP id 586e51a60fabf-1b0249f1322so2642477fac.3
<<         for <[redacted.receiver@example.com]>; Sun, 16 Jul 2023 02:22:28 -0700 (PDT)
<< DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
<<         d=gmail.com; s=20221208; t=1689499347; x=1692091347;
<<         h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
<<          :date:message-id:reply-to;
<<         bh=jPLBHI7noXVbIQiLlmHiXynWZy26BTnhxCAlQoXyqnA=;
<<         b=KsuWsAEhBZvzyPj8R6OfPBXGZEXySlLDHs/g4ha0+4HQPahOrfYk4yn1eBKduWi2br
<<          mVkN4eqZXFDJdZ6qYNZLdoCj58gg//B5EzC/Uw+e1MXD7DKuYRrfDl45GeqTCwSkyRAB
<<          VbSLomO6CmFtO1YC7lrEeY9kpHVaTTvQSY9JF09weP9ftdwkpLseel16uG6qjTD2uSZB
<<          SrI+79cTHVn7h7/6YCMTGmB+mZ+h+sBFEP5ydgO/vInLmP8U9j4dc24t9DgrCUACvBfk
<<          diAJxBjQgae6JcVyDXT++w/0XkvQh9yTBom9MM3tXNzQ4FODHq2nsaPtEUOJ3cOAWm8A
<<          Eg5A==
<< X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
<<         d=1e100.net; s=20221208; t=1689499347; x=1692091347;
<<         h=to:subject:message-id:date:from:mime-version:x-gm-message-state
<<          :from:to:cc:subject:date:message-id:reply-to;
<<         bh=jPLBHI7noXVbIQiLlmHiXynWZy26BTnhxCAlQoXyqnA=;
<<         b=PCKOD+k9S/+6xWnKYrKukv7c4OIstdd0XHUuEfeuAyaGztVwk+MSfWhSFPBQjiq+rV
<<          mz/yl0gXCA9Jx0m14X5NOnB2iRVCowAPnhT5PqkAcmYWIjWwtULlputRjB0UlZcvsG5F
<<          azdVLOJXujcKpiI7FUS4NZYhEKPvF6wQVdG0VlXTipCZjj+X5RAdVYFDAPQeo4RhkGj5
<<          Nlru1wRim41Gmx2OaRJmxNr+koB1/L9HxTjJFF+DIdSB73ksj9u+lvZcrdGJfKL8gjly
<<          hQAONVKHG+TjzSLDv3cvGjd8f7dPssexFoIvRLVH7qEvlge+zhC2wEyd6GxZ5/xpka6z
<<          YJTQ==
<< X-Gm-Message-State: ABy/qLbzGgHPncWkOqAJCLWNBs3TDCkGylclUbv0NYKXh88IoR370/3I
<<      ua9L7gg/WNK12qtBDBZUYB9f6fiJh30VRRGoUkkZyjTchRWh9Q==
<< X-Google-Smtp-Source: APBJJlEmraPWllLndcm9v+iTrzUOgpGzGUgKRcmkYgPrhntiEqwM0HGQunD9LB6hTTu4O5viDbUdT5o8bDx5JCTG+AU=
<< X-Received: by 2002:a05:6871:7a8:b0:1b7:5ede:ddbd with SMTP id
<<  o40-20020a05687107a800b001b75ededdbdmr11080008oap.14.1689499346804; Sun, 16
<<  Jul 2023 02:22:26 -0700 (PDT)
<< From: [redacted name] <[redacted.sender@gmail.com]>
<< Date: Sun, 16 Jul 2023 11:22:16 +0200
<< Message-ID: <CA+n9bcKn2Lm0GEE4fZL4DDwM_ot+7eJR4vqvPmPoRurQLidKsQ@mail.gmail.com>
<< Subject: das ist ein test
<< To: [redacted.receiver@example.com]
<< Content-Type: multipart/alternative; boundary="0000000000006a21f006009738ca"
<< Return-Path: [redacted.sender@gmail.com]
<< X-MS-Exchange-Organization-ExpirationStartTime: 16 Jul 2023 09:22:28.2671
<<  (UTC)
<< X-MS-Exchange-Organization-ExpirationStartTimeReason: OriginalSubmit
<< X-MS-Exchange-Organization-ExpirationInterval: 1:00:00:00.0000000
<< X-MS-Exchange-Organization-ExpirationIntervalReason: OriginalSubmit
<< X-MS-Exchange-Organization-Network-Message-Id:
<<  d974bb21-0d4e-4045-e57a-08db85de2cb9
<< X-EOPAttributedMessage: 0
<< X-EOPTenantAttributedMessage: df11e46e-725c-4c28-9950-9557f6023fdf:0
<< X-MS-Exchange-Organization-MessageDirectionality: Incoming
<< X-MS-PublicTrafficType: Email
<< X-MS-TrafficTypeDiagnostic:
<<  DU6PEPF00009527:EE_|DB8PR09MB3916:EE_|AS8PR09MB5902:EE_
<< X-MS-Exchange-Organization-AuthSource:
<<  DU6PEPF00009527.eurprd02.prod.outlook.com
<< X-MS-Exchange-Organization-AuthAs: Anonymous
<< X-MS-Office365-Filtering-Correlation-Id: d974bb21-0d4e-4045-e57a-08db85de2cb9
<< X-MS-Exchange-Organization-SCL: 1
<< X-Microsoft-Antispam: BCL:0;
<< X-Forefront-Antispam-Report:
<<  CIP:209.85.160.44;CTRY:US;LANG:de;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-oa1-f44.google.com;PTR:mail-oa1-f44.google.com;CAT:NONE;SFS:(13230028)(84050400002)(451199021)(42186006)(73392003)(26005)(82202003)(86362001)(55446002)(6666004)(336012)(33964004)(564344004)(3480700007)(5660300002)(8676002)(7596003)(7636003)(1096003)(76482006)(356005)(6916009);DIR:INB;
<< X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jul 2023 09:22:28.2046
<<  (UTC)
<< X-MS-Exchange-CrossTenant-Network-Message-Id: d974bb21-0d4e-4045-e57a-08db85de2cb9
<< X-MS-Exchange-CrossTenant-Id: df11e46e-725c-4c28-9950-9557f6023fdf
<< X-MS-Exchange-CrossTenant-AuthSource:
<<  DU6PEPF00009527.eurprd02.prod.outlook.com
<< X-MS-Exchange-CrossTenant-AuthAs: Anonymous
<< X-MS-Exchange-CrossTenant-FromEntityHeader: Internet
<< X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR09MB3916
<< X-MS-Exchange-Transport-EndToEndLatency: 00:00:01.3455053
<< X-MS-Exchange-Processed-By-BccFoldering: 15.20.6588.030
<< X-Microsoft-Antispam-Mailbox-Delivery:
<<      ucf:0;jmr:0;auth:0;dest:I;ENG:(910001)(944506478)(944626604)(920097)(930097);
<< X-Microsoft-Antispam-Message-Info:
<<      =?utf-8?B?MVlJNXRuRkFVZUtqKzhyTGF3L2ZFaG1WdkJTak9PanJmazVmZWk5NC9BL1Q1?=
<<  =?utf-8?B?bC9LZWRZWW9URmZQY25rWk8zNWtJR04vMVpUeDV4Q2xRRzhKTVhVZDltUGpF?=
<<  =?utf-8?B?RUduRGpmTnVVVWJhQXNmc3FlbkFtY1YvU2NtK3ArbG9remh2Zmlmc25MNkVV?=
<<  =?utf-8?B?M01BY2w2SFdLM0R4UmlNVC9hSVJuT01oaEVnM0xSQ2tZdi93ZmF4RlI2NGhk?=
<<  =?utf-8?B?TmFMNUZYMDE0dHhodDVyU09jYzVKQjlGVnZKTVBib2dxUXJwdHBjblVuRi9K?=
<<  =?utf-8?B?U1FveGJRRWpaQzV1ZjZHOW42a0tMWDdEcmkyOTd4dUJyWW4rY1ZCTkJrRnNR?=
<<  =?utf-8?B?WEo2NGsxUHNrTmtSUEs5d1J1K1Z4d1Y2SVRRallPdGtvR3NsUDR0UWRGTHR3?=
<<  =?utf-8?B?VGdKZUVUU2ZWNnRBeWRtTFJoNndLZ3NCRlR1UWhma01QWlR4V0xCblUvQlRT?=
<<  =?utf-8?B?ckZBOElkNy9RNkxiTUJ3ejdZWWxyUlFVK1Y2cjJqOFQzbUNIN0ZxcTRSeHhk?=
<<  =?utf-8?B?RnNmVE1BR3ZFS2RTbFJFS2IwdkRJZEtRSzFjRXp3MWpPUXo0UTFlV1p3bG5k?=
<<  =?utf-8?B?aWtXSm9uVSsrc3JVd1BNRFF0WWVOeDZLRlljR3pBcHR3S01tRDYwbWxHYlNP?=
<<  =?utf-8?B?ZXg4UHE4YS81NVhyS3VaZE8vbHpiTWFhWDMyb3RadS9vVTAwcDJ2eFB4dXFC?=
<<  =?utf-8?B?VUt2RzVXRGRjZjl3Y2dDVktLVDRQVGMrUWdFSGZwcFZjdkhpRjVtZjlDRlEr?=
<<  =?utf-8?B?dklrUGxPR2FWNVFyQkExcWl6UlBkQk5teHBabU9XZFNGU0hwK05KTXMxR2Fp?=
<<  =?utf-8?B?b3lmWkxTcUJLOWVnL3Z1cndTVi9MT2YwUkw2QTZMNmNFUW5vZzBlMWJ2bDZ1?=
<<  =?utf-8?B?RkZTbWRraEVYVXNtQnRRUEc2Wm1OZ0VpRG03M3dkaW9ZTHRNcGdpSGxuZlY2?=
<<  =?utf-8?B?azE1bS9CNFNpYXErOTIwTUtORHNaRFRBUWsyUWdnMmlrT1oramF4STJ6ZUJT?=
<<  =?utf-8?B?dTNYZk03dGVwbnE5NDZvaE5RMzYrT0luMzcranlBNUhWNGNWSFFYeTU4cDNq?=
<<  =?utf-8?B?cUxqUGU4VnNCZy9VSlpvUlhpdHZyTUxhRDZueHA1NlRITENwQUFyQzBZbU1G?=
<<  =?utf-8?B?Rmh3WHVGYlVXN291cW1kdGQ1c0w4ZjlxVGNtbWRjMkoxZnJqRVJvSm5mb1JY?=
<<  =?utf-8?B?RjJCT2daT1NoTUtyeENoMENqa2NZNUlPVHJ6QzRaVzdmQXh4ZnZGVWxVVVZC?=
<<  =?utf-8?B?QUFFOTZvTzNOQ1dYMFlkNGFTNkxlcVNDTlZqNkVIZDBJMUxnMGNVZXZWbTgr?=
<<  =?utf-8?B?ekYzMWRTdm13K1JMQ0pGRnk1enRhNVdiK3daMzJjNTY3djNYTGhOVHNlUllP?=
<<  =?utf-8?B?VUpqTGE3ZGFjdmxONnFSRytzQ3hKWG83UDlYU2p1ZGRYT3VjQ1JkYlowUTk3?=
<<  =?utf-8?B?bWRlbDF0SllqZDNJZ0t6NW1rcnB6VTdjRXA3dkVsV1ErT2E2TVcxMXNpeTky?=
<<  =?utf-8?B?QnZicHUrWE8yc1R3Qk9ib2RHQW1KaWlKV0dSU3VRK0pqWThaVGhnZFhmdG9m?=
<<  =?utf-8?B?QnJBejBEb3ZMdmpOMmdWaDNMbUQxNU5RQTVwczdFUjBTYmh6ZndBR3ZQeVg5?=
<<  =?utf-8?B?NTdZS1Z1QnFVSVpFeVlmTHNIaXM4MC85ckkzSlVYTS8rMVV3cHdQMlgwNzYw?=
<<  =?utf-8?B?RTFXZTRaUUh3dXhRZldITVkvaTkwNFJweXgvNDM1ZHRVQzV2VWRiYi93cWdl?=
<<  =?utf-8?B?THppRzVqeitlbURxZHM4TlVaaXFhZGE5UlByeC9HQmZ5WXRPWnFybEpWa1Bz?=
<<  =?utf-8?B?azRzZ3lRU1lzVVRqQ1JBWHhQU0JDa3BacU1xRnRmMlJGZE1VZXdDc09Yb3BQ?=
<<  =?utf-8?B?ZFZrQ29nWTlEQndCTXVzWWdSNGFRYWdTRXo2OEkvMDY3RzZZZTRDbzVJNnVk?=
<<  =?utf-8?B?OGdnaGkvYnU0ZkZHRHM5aWxHS2xUajV6ZUZjZnU3UDBDUDE3a2xtbk16MmZy?=
<<  =?utf-8?B?VStoeWRrRktYRjN1WXNFSTAwenJDU1RMeVBsT2lwNklhbGpXYWFyc05ncys4?=
<<  =?utf-8?B?NWRuamFydjhmQlJsRzlBV1VVTzZKc3hoQ2o2bEJKWHViWG5yL2NjQjArY3Qr?=
<<  =?utf-8?B?MDI5c05VaEgzT2lCMUtFTGc2cDd2YituRWFvemd0a1hCQkxwdWpxUklOSi92?=
<<  =?utf-8?B?RXdJK0tDaitUenM5NVlKbUZIYUpuZGZDV2syT1NEVDVlb1BRL2p0Y1dDbVJ4?=
<<  =?utf-8?B?MGROYjE0WlEwbVk1MU1laU9zNFdRPT0=?=
<< 
<<  UID 2518)
<< TAG6 OK FETCH completed.
>> TAG7 UID FETCH 2518 (RFC822.TEXT)
<< * 15 FETCH (RFC822.TEXT {463}
<< --0000000000006a21f006009738ca
<< Content-Type: text/plain; charset="UTF-8"
<< Content-Transfer-Encoding: base64
<< 
<< c2vDpMO2bGdrc2dqw6TDtnNnasOkw7Zhc2cNCg==
<< --0000000000006a21f006009738ca
<< Content-Type: text/html; charset="UTF-8"
<< Content-Transfer-Encoding: base64
<< 
<< PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJz
<< ZXQ9dXRmLTgiPjxkaXYgZGlyPSJsdHIiPnNrw6TDtmxna3NnasOkw7ZzZ2rDpMO2YXNnPC9kaXY+
<< DQo=
<< 
<< --0000000000006a21f006009738ca--
<<  UID 2518 FLAGS (\Seen \Recent))
<< TAG7 OK FETCH completed.
>> TAG8 UID FETCH 1:* (UID)
<< * 1 FETCH (UID 2497)
<< * 2 FETCH (UID 2498)
<< * 3 FETCH (UID 2499)
<< * 4 FETCH (UID 2500)
<< * 5 FETCH (UID 2501)
<< * 6 FETCH (UID 2502)
<< * 7 FETCH (UID 2506)
<< * 8 FETCH (UID 2507)
<< * 9 FETCH (UID 2508)
<< * 10 FETCH (UID 2509)
<< * 11 FETCH (UID 2510)
<< * 12 FETCH (UID 2511)
<< * 13 FETCH (UID 2516)
<< * 14 FETCH (UID 2517)
<< * 15 FETCH (UID 2518)
<< TAG8 OK FETCH completed.
>> TAG9 UID STORE 2518:2518 -FLAGS.SILENT (\Seen)
<< TAG9 OK STORE completed.
>> TAG10 UID FETCH 2518 (FLAGS)
<< * 15 FETCH (FLAGS (\Recent) UID 2518)
<< TAG10 OK FETCH completed.
[2023-07-16 09:24:08] Fetched: 1
[2023-07-16 09:24:08] 1) das ist ein test
[2023-07-16 09:24:08] Message from: Customer
>> TAG11 UID STORE 2518:2518 +FLAGS.SILENT (\Seen)
<< TAG11 OK STORE completed.
>> TAG12 UID FETCH 2518 (FLAGS)
<< * 15 FETCH (FLAGS (\Seen \Recent) UID 2518)
<< TAG12 OK FETCH completed.
[2023-07-16 09:24:08] Thread successfully created: 11
>> TAG13 LOGOUT
<< * BYE Microsoft Exchange Server IMAP4 server signing off.
<< TAG13 OK LOGOUT completed.
freescout-helpdesk commented 1 year ago

Subject rules won't trigger

Do other rules work with Microsoft 365 accounts?

pool-alpin commented 1 year ago

Yes, automatic workflows for eg body content rules trigger as expected.
It is as if Freescout can't "see" the subject line in mails received via MS365.

freescout-helpdesk commented 1 year ago

Add the following code to the line 819 in /Modules/Workflows/Entities/Workflow.php:

\Log::error('Subject raw: '.$conversation->subject.'; Subject base64: '.base64_encode($conversation->subject).'; Comparison result: '.(int)$or_true);

and send us the output from laravel-yyyy-mm-dd.log in Manage > Logs > App Logs.

pool-alpin commented 1 year ago

and send us the output from laravel-yyyy-mm-dd.log in Manage > Logs > App Logs.

laravel-2023-07-17.log

freescout-helpdesk commented 1 year ago

Try this code and send the result:

\Log::error('Subject raw: '.$conversation->subject.'; Subject base64: '.base64_encode($conversation->subject).'Value raw: '.$value.'; Value base64: '.base64_encode($value).'; Comparison result: '.(int)$or_true);
pool-alpin commented 1 year ago

laravel-2023-07-17 (1).log

freescout-helpdesk commented 1 year ago

By some reason Workflow condition contains only "is just" instead of "this is just a test". Can you give a screenshot of the Workflow condition? Try to type manually "this is just a test" into Condition and try again.

pool-alpin commented 1 year ago

contains "is just" is correct, since it is intended to trigger for a subject like "this is just a test".
Sorry for the confusion.

freescout-helpdesk commented 1 year ago

Try this code and send the result:

\Log::error('Subject raw: '.$conversation->subject.'; Subject base64: '.base64_encode($conversation->subject).'; Value raw: '.$value.'; Value base64: '.base64_encode($value).'; Comparison result: '.(int)$or_true.'; Operator: '.$operator.'; Contains: '.(int)\Str::contains($conversation->subject, $value).'; Strstr: '.(int)strstr($conversation->subject, $value));
pool-alpin commented 1 year ago

laravel-2023-07-17 (2).log

freescout-helpdesk commented 1 year ago

One more test:

\Log::error('Subject raw: '.$conversation->subject.'; Subject base64: '.base64_encode($conversation->subject).'; Value raw: '.$value.'; Value base64: '.base64_encode($value).'; Comparison result: '.(int)$or_true.'; Operator: '.$operator.'; Contains: '.(int)\Str::contains($conversation->subject, $value).'; Strstr: '.(int)strstr($conversation->subject, $value).'; is_string1: '.(int)is_string($conversation->subject).'; is_string2: '.(int)is_string($value).'; Contains2: '.(int)\Str::contains(mb_strtolower($conversation->subject), mb_strtolower($value)));
pool-alpin commented 1 year ago

laravel-2023-07-17 (3).log

freescout-helpdesk commented 1 year ago

Now try to change the line 818 to:

$or_true = self::compareText($conversation->subject."", $value, $operator);
pool-alpin commented 1 year ago

error | production | 2023-07-17 15:25:31 | Subject raw: this is just a test; Subject base64: dGhpcyBpcyBqdXN0IGEgdGVzdA==; Value raw: is just; Value base64: aXMganVzdA==; Comparison result: 1; Operator: contains; Contains: 1; Strstr: 0; is_string1: 0; is_string2: 1; Contains2: 1

🤩

freescout-helpdesk commented 1 year ago

Fixed in Workflows Module v1.0.47

pool-alpin commented 1 year ago

Amazing, thank you! 🙏