Repository navigation
Conversation
Sign outgoing messages with a configured S/MIME certificate when mail_smime_certificate is set in the system configuration. The private key (mail_smime_key), an optional key passphrase (mail_smime_passphrase) and an optional certificate chain (mail_smime_chain) are taken from the system configuration as well. When a certificate is configured but signing fails, the exception propagates out of send() so that no unsigned mail is delivered. Assisted-by: opencode:blablador/90 - Qwen 3.8-27B on Juwels Booster
Allow administrators to configure S/MIME signing on the admin "Email server" settings page: signing certificate path, private key path, optional certificate chain path and an optional key passphrase. The certificate path acts as the switch for signing; when it is left empty, the remaining S/MIME values are cleared. Configured paths are validated to exist and be readable. The key passphrase is stored via a dedicated endpoint and is never exposed to the web interface in plain text. Assisted-by: opencode:blablador/90 - Qwen 3.8-27B on Juwels Booster
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
As a customer we always wanted nextcloud to be able to sign the emails send by the system or user_retention to be signed. It always bothered me, that this functionality doesn't exist, since symphony supports it with their SMimeSigner. Customer support told me, it's impossible to sign emails with nextcloud.
This PR contains 2 commits, the first one just adds the php-functionality and the second one the frontend code for configuring SMIME and making nextcloud send signed emails.
Summary
Implement signed emails with SMimeSigner and admin UI
TODO
Checklist
3. to review, feature component)stable32)AI (if applicable)
The code of this PR is fully generated and the AI made use of the Agents.md file provided by nextcloud. The commits are also signed. I manually verified the php-code including the unit-tests. The provided s/mime certificate in the unit-tests is a self-signed freshly generated one.
The PR description is written by a human with a weird taste for dungeon-crawler books. I'll undraft it, when I finished verifying it's contents fully. I am willing to drop the second commit if it's unwanted and make this config.php only.