Emails sent from nextcloud contain an empty Cc: field

Support intro

Sorry to hear you’re facing problems. :slightly_frowning_face:

The community help forum (help.nextcloud.com) is for home and non-enterprise users. Support is provided by other community members on a best effort / “as available” basis. All of those responding are volunteering their time to help you.

If you’re using Nextcloud in a business/critical setting, paid and SLA-based support services can be accessed via portal.nextcloud.com where Nextcloud engineers can help ensure your business keeps running smoothly.

Getting help

In order to help you as efficiently (and quickly!) as possible, please fill in as much of the below requested information as you can.

Before clicking submit: Please check if your query is already addressed via the following resources:

(Utilizing these existing resources is typically faster. It also helps reduce the load on our generous volunteers while elevating the signal to noise ratio of the forums otherwise arising from the same queries being posted repeatedly).

Some or all of the below information will be requested if it isn’t supplied; for fastest response please provide as much as you can. :heart:

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • hosted by ionos
  • Operating system and version (e.g., Ubuntu 24.04):
    • hosted by ionos
  • Web server and version (e.g, Apache 2.4.25):
    • hosted by ionos
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • hosted by ionos
  • PHP version (e.g, 8.3):
    • hosted by ionos
  • Is this the first time you’ve seen this error? (Yes / No):
    • yes
  • When did this problem seem to first start?
    • unknown, i never looked for it
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • hosted by ionos
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • hosted by ionos

Summary of the issue you are facing:

emails sent using the nextcloud mail app have an empty Cc: field (if no Cc: is selected). These are then rejected by simplelogin.io

Steps to replicate it (hint: details matter!):

  1. create an account at simplelogin.io and register the email address you use in nextcloud as your email address at simplelogin

  2. from another account send an email to your alias at simplelogin.io. the email will be forwarded to the nextcloud account

  3. reply to the email from within the nextcloud email app without setting a Cc:. the reply will be rejected by simplelogin.io because the Cc: field is present but empty.

Log entries

Nextcloud

Please provide the log entries from your Nextcloud log that are generated during the time of problem (via the Copy raw option from Administration settings->Logging screen or from your nextcloud.log located in your data directory). Feel free to use a pastebin/gist service if necessary.

hosted by ionos

Web Browser

If the problem is related to the Web interface, open your browser inspector Console and Network tabs while refreshing (reloading) and reproducing the problem. Provide any relevant output/errors here that appear.

cromite 144

Web server / Reverse Proxy

The output of your Apache/nginx/system log in /var/log/____:

hosted by ionos

Configuration

Nextcloud

The output of occ config:list system or similar is best, but, if not possible, the contents of your config.php file from /path/to/nextcloud is fine (make sure to remove any identifiable information!):

hosted by ionos

Apps

The output of occ app:list (if possible).

Tips for increasing the likelihood of a response

  • Use the preformatted text formatting option in the editor for all log entries and configuration output.
  • If screenshots are useful, feel free to include them.
    • If possible, also include key error output in text form so it can be searched for.
  • Try to edit log output only minimally (if at all) so that it can be ran through analyzers / formatters by those trying to help you.

Yes, it appears some headers with empty values (such as Cc: are currently included in sent messages (which is generally okay).

Does adding the following to fix your problem?

// Remove headers where the value is empty, null, or just whitespace
$headers = array_filter($headers, function($value) {
    return !empty($value) && (is_string($value) ? trim($value) !== '' : true);
});

It needs to go right here (line number is 129 here but may be different in your Mail app version; the point is it needs to go just above the addHeaders() call.

EDIT: PR pending to address this: fix(MailTransmission): Handle clients/servers picky about empty headers by joshtrichards · Pull Request #12420 · nextcloud/mail · GitHub

Many thanks for your work :slight_smile: I’m afraid I’m on a managed NextCloud instance with no access to the code :confused:

Fair enough. Turns out my quick attempt needs some refinement anyhow. :slight_smile: The PR is active so hopefully will be in an upcoming release and will address situation.