Server: Invitation email from calendar event: corrupted

Created on 29 Jun 2020  路  13Comments  路  Source: nextcloud/server

How to use GitHub

  • Please use the 馃憤 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Steps to reproduce

  1. upgrade Nextcloud to 18.04 (no problem with previous versions)
  2. login as a regular user
  3. create a new event on native calendar (from Nextcloud web UI)
  4. add some participants to the event by email
  5. confirm the even
  6. check the invitation email sent to participants: it's corrupted

Expected behaviour

The invitation email message (used to be and) should be readeable

Actual behaviour

The invitation email message (starting 18.04) is corrupted, strange formatting, no recipient shown (see attached example) on Thunderbird, iOS

Server configuration

Operating system:
Ubuntu 16.04.6 LTS

Web server:

Database:
MySQL

PHP version:
PHP 7.2.31-1+ubuntu16.04.1+deb.sury.org+1

Nextcloud version: (see Nextcloud admin page)
18.04

Updated from an older Nextcloud/ownCloud or fresh install:
Updated

Where did you install Nextcloud from:
Automatic update

Signing status:


Signing status

No errors have been found.

List of activated apps:


App list

Enabled:
  - accessibility: 1.4.0
  - activity: 2.11.0
  - admin_audit: 1.8.0
  - bruteforcesettings: 1.6.0
  - calendar: 2.0.3
  - cloud_federation_api: 1.1.0
  - comments: 1.8.0
  - contacts: 3.3.0
  - dav: 1.14.0
  - federatedfilesharing: 1.8.0
  - federation: 1.8.0
  - files: 1.13.1
  - files_antivirus: 2.4.1
  - files_automatedtagging: 1.8.3
  - files_external: 1.9.0
  - files_pdfviewer: 1.7.0
  - files_retention: 1.7.0
  - files_rightclick: 0.15.2
  - files_sharing: 1.10.1
  - files_trashbin: 1.8.0
  - files_versions: 1.11.0
  - files_videoplayer: 1.7.0
  - firstrunwizard: 2.7.0
  - forms: 1.1.1
  - logreader: 2.3.0
  - lookup_server_connector: 1.6.0
  - nextcloud_announcements: 1.7.0
  - notes: 3.4.0
- notifications: 2.6.0
  - oauth2: 1.6.0
  - password_policy: 1.8.0
  - photos: 1.0.0
  - polls: 1.4.3
  - privacy: 1.2.0
  - provisioning_api: 1.8.0
  - recommendations: 0.6.0
  - serverinfo: 1.8.0
  - settings: 1.0.0
  - sharebymail: 1.8.0
  - support: 1.1.0
  - survey_client: 1.6.0
  - systemtags: 1.8.0
  - tasks: 0.13.1
  - text: 2.0.0
  - theming: 1.9.0
  - twofactor_backupcodes: 1.7.0
  - updatenotification: 1.8.0
  - user_ldap: 1.8.0
  - viewer: 1.2.0
  - workflowengine: 2.0.0
Disabled:
  - announcementcenter
  - bookmarks
  - deck
  - encryption
  - files_accesscontrol
  - files_downloadactivity
  - groupfolders
  - spreed

Nextcloud configuration:


Config report

{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "cloud.bluewind.it",
            "192.168.11.26"
        ],
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "overwritehost": "cloud.bluewind.it",
        "overwrite.cli.url": "https:\/\/cloud.bluewind.it",
        "overwriteprotocol": "https",
        "dbtype": "mysql",
        "version": "18.0.4.2",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "maintenance": false,
        "mail_smtpmode": "smtp",
        "mail_smtpauthtype": "LOGIN",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "25",
        "0": "mail_smtpdebug\" => true",
        "log_type": "file",
        "logfile": "\/var\/log\/nextcloud\/nextcloud.log",
        "loglevel": 0,
        "syslog_tag": "Nextcloud",
        "updater.release.channel": "stable",
        "theme": "",
        "mysql.utf8mb4": true,
        "ldapIgnoreNamingRules": false,
        "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory",
        "app_install_overwrite": [
            "forms"
        ]
    }
}

Are you using external storage, if yes which one: local/smb/sftp/...
No

Are you using encryption: yes/no
No

Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...
LDAP

LDAP configuration (delete this part if not used)


LDAP config

+-------------------------------+-------------+
| Configuration                 | s01         |
+-------------------------------+-------------+
| hasMemberOfFilterSupport      | 0           |
| homeFolderNamingRule          |             |
| lastJpegPhotoLookup           | 0           |
| ldapAgentName                 |             |
| ldapAgentPassword             | ***         |
| ldapAttributesForGroupSearch  |             |
| ldapAttributesForUserSearch   |             |
| ldapBackupHost                |             |
| ldapBackupPort                |             |
| ldapBase                      |             |
| ldapBaseGroups                |             |
| ldapBaseUsers                 |             |
| ldapCacheTTL                  | 600         |
| ldapConfigurationActive       | 0           |
| ldapDefaultPPolicyDN          |             |
| ldapDynamicGroupMemberURL     |             |
| ldapEmailAttribute            |             |
| ldapExperiencedAdmin          | 0           |
| ldapExpertUUIDGroupAttr       |             |
| ldapExpertUUIDUserAttr        |             |
| ldapExpertUsernameAttr        |             |
| ldapExtStorageHomeAttribute   |             |
| ldapGidNumber                 | gidNumber   |
| ldapGroupDisplayName          | cn          |
| ldapGroupFilter               |             |
| ldapGroupFilterGroups         |             |
| ldapGroupFilterMode           | 0           |
| ldapGroupFilterObjectclass    |             |
| ldapGroupMemberAssocAttr      |             |
| ldapHost                      |             |
| ldapIgnoreNamingRules         |             |
| ldapLoginFilter               |             |
| ldapLoginFilterAttributes     |             |
| ldapLoginFilterEmail          | 0           |
| ldapLoginFilterMode           | 0           |
| ldapLoginFilterUsername       | 1           |
| ldapNestedGroups              | 0           |
| ldapOverrideMainServer        |             |
| ldapPagingSize                | 500         |
| ldapPort                      |             |
| ldapQuotaAttribute            |             |
| ldapQuotaDefault              |             |
| ldapTLS                       | 0           |
| ldapUserAvatarRule            | default     |
| ldapUserDisplayName           | displayName |
| ldapUserDisplayName2          |             |
| ldapUserFilter                |             |
| ldapUserFilterGroups          |             |
| ldapUserFilterMode            | 0           |
| ldapUserFilterObjectclass     |             |
| ldapUuidGroupAttribute        | auto        |
| ldapUuidUserAttribute         | auto        |
| turnOffCertCheck              | 0           |
| turnOnPasswordChange          | 0           |
| useMemberOfToDetectMembership | 1           |
+-------------------------------+-------------+

Client configuration

Browser:
Firefox 77.0.1

Operating system:
Ubuntu latest LTS

Logs

Web server error log


Web server error log

[Mon Jun 29 06:25:03.075875 2020] [mpm_prefork:notice] [pid 1684] AH00163: Apache/2.4.18 (Ubuntu) OpenSSL/1.0.2g configured -- resuming normal
 operations
[Mon Jun 29 06:25:03.075903 2020] [core:notice] [pid 1684] AH00094: Command line: '/usr/sbin/apache2'
[Mon Jun 29 10:11:47.190802 2020] [access_compat:error] [pid 14972] [client 81.174.45.146:51334] AH01797: client denied by server configuratio
n: /var/www/nextcloud/data/.ocdata
[Mon Jun 29 11:46:09.056888 2020] [php7:error] [pid 14891] [client 159.203.32.71:31020] script '/var/www/nextcloud/wp-login.php' not found or 
unable to stat
remote@cloud:/var/www/nextcloud$ tail -n 100 /var/log/apache2/error.log
[Mon Jun 29 06:25:03.075875 2020] [mpm_prefork:notice] [pid 1684] AH00163: Apache/2.4.18 (Ubuntu) OpenSSL/1.0.2g configured -- resuming normal
 operations
[Mon Jun 29 06:25:03.075903 2020] [core:notice] [pid 1684] AH00094: Command line: '/usr/sbin/apache2'
[Mon Jun 29 10:11:47.190802 2020] [access_compat:error] [pid 14972] [client 81.174.45.146:51334] AH01797: client denied by server configuratio
n: /var/www/nextcloud/data/.ocdata
[Mon Jun 29 11:46:09.056888 2020] [php7:error] [pid 14891] [client 159.203.32.71:31020] script '/var/www/nextcloud/wp-login.php' not found or 
unable to stat
remote@cloud:/var/www/nextcloud$ cat /var/log/apache2/error.log
[Mon Jun 29 06:25:03.075875 2020] [mpm_prefork:notice] [pid 1684] AH00163: Apache/2.4.18 (Ubuntu) OpenSSL/1.0.2g configured -- resuming normal
 operations
[Mon Jun 29 06:25:03.075903 2020] [core:notice] [pid 1684] AH00094: Command line: '/usr/sbin/apache2'
[Mon Jun 29 10:11:47.190802 2020] [access_compat:error] [pid 14972] [client 81.174.45.146:51334] AH01797: client denied by server configuratio
n: /var/www/nextcloud/data/.ocdata
[Mon Jun 29 11:46:09.056888 2020] [php7:error] [pid 14891] [client 159.203.32.71:31020] script '/var/www/nextcloud/wp-login.php' not found or 
unable to stat

Nextcloud log (data/nextcloud.log)


Nextcloud log

{"reqId":"bmFBb7F2hANQw42dWaBb","level":0,"time":"2020-06-29T13:08:57+00:00","remoteAddr":"X.X.X.X","user":"stefanoco","app":"no app in 
context","method":"PUT","url":"/remote.php/dav/calendars/stefanoco/personal/ABC.ics","message":"Deprecated ev
ent type for \\OCA\\DAV\\CalDAV\\CalDavBackend::createCalendarObject: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/
5.0 (X11; Ubuntu; Linux x86_64; rv:77.0) Gecko/20100101 Firefox/77.0","version":"18.0.4.2"}
{"reqId":"bmFBb7F2hANQw42dWaBb","level":0,"time":"2020-06-29T13:09:00+00:00","remoteAddr":"X.X.X.X","user":"stefanoco","app":"core","met
hod":"PUT","url":"/remote.php/dav/calendars/stefanoco/personal/ABC.ics","message":"Sent mail to \"Array\n(\n 
   [[email protected]] => me\n)\n\" with subject \"Invitation: \"","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:77.0) Gecko/20100
101 Firefox/77.0","version":"18.0.4.2"}
{"reqId":"bmFBb7F2hANQw42dWaBb","level":0,"time":"2020-06-29T13:09:00+00:00","remoteAddr":"X.X.X.X","user":"stefanoco","app":"no app in 
context","method":"PUT","url":"/remote.php/dav/calendars/stefanoco/personal/ABC.ics","message":"Deprecated ev
ent type for \\OCA\\DAV\\CalDAV\\CalDavBackend::createCalendarObject: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/
5.0 (X11; Ubuntu; Linux x86_64; rv:77.0) Gecko/20100101 Firefox/77.0","version":"18.0.4.2"}

Browser log


Browser log

*no relevant logs*

0. Needs triage bug dav needs info stale

Most helpful comment

cc @nextcloud/calendar

All 13 comments

Here an example of a corrupted email as shown on Thundebird:

calendar

(redacted) email message source, only first relevant rows

cc @nextcloud/calendar

same same here :(

can anybody give advice on how to fix it?

@stefanoco @francescor Does this only affect Invitation emails or also other emails from Nextcloud?

We haven't touched the actual Invitation Sending code in 5 months, so that can't be it:
https://github.com/nextcloud/server/blob/stable18/apps/dav/lib/CalDAV/Schedule/IMipPlugin.php

Seems like only invitaions emails are affected; any suggestion about what to check? Maybe somehow the template was corrupted during the upgrade process

Are you using custom email templates?

No we're not using custom templates

...realized now that:

  • this is not happening always: same conditions, same sequence (as listed above), sometimes it happens some other times the message is ok
  • the same applies also to email messages notifying folders activities (and again, only sometimes)

Any suggestion on how to debug? Easy way for saving all generated email messages in a log for later inspection?

Further confirmation: creating / deleting the same invitation email from a calendar multiple times the message gets corrupted around 1 out of 4 times. Any debug options?

I am facing the same issue, if anyone have suggestions it will be really appreciated

This issue has been automatically marked as stale because it has not had recent activity and seems to be missing some essential information. It will be closed if no further activity occurs. Thank you for your contributions.

I'm closing this issue because I realized later that the problem lies in the firewall anti-spam: the anti-spam function adds headers to all email messages, and the messages coming from Nextcloud get corrupted in the process.
Now I'm not sure if this is due to some mis-formatting of email from Nextcloud but I tend to exclude as examining the sources gives no hint.

Was this page helpful?
0 / 5 - 0 ratings