Commit Graph

69 Commits

Author SHA1 Message Date
Carl Schwan
7b6078875b refactor: Run rector on lib/private
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:50:18 +01:00
provokateurin
d8294a8531 fix(Mailer): Log errors
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-30 08:42:12 +01:00
Daniel Kesselberg
336c6d2957 feat(ocp): add email address validator
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-08-14 18:34:36 +02:00
Ferdinand Thiessen
4717f5cbc9 chore: drop outdated deprecation comment from Mailer
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-03-14 09:09:53 +01:00
Thomas Lehmann
e4c013d86d feat(Mailer): add "null" SMTP transport mode
== Goal

Allow disabling mail delivery altogether.

== Usecase

If mails ought to be send by other means than rendering messages from
templates and sending them via SMTP-like protocols.

Example: listening to specific Nextcloud events and pass parameters to
a centralized (i.e. REST-based) API that sends e-mails.

Signed-off-by: Thomas Lehmann <t.lehmann@strato.de>
2024-11-19 11:32:39 +01:00
Thomas Lehmann
40211f3d07 chore(Mailer): remove no-op local variable initilization
The IDE hinted the value is immediately overwritten.

Signed-off-by: Thomas Lehmann <t.lehmann@strato.de>
2024-11-19 11:32:39 +01:00
Thomas Lehmann
46d8a7333b feat(Mailer): implement caching
Currently $this->instance is never set, so the code is no-op. This
brings back caching of the instance.

Caching broke with

   be7db1573d

   Swift to \Swift_Mailer as abstraction

Signed-off-by: Thomas Lehmann <t.lehmann@strato.de>
2024-11-19 11:32:39 +01:00
dependabot[bot]
bb598c8451 chore(deps): Bump nextcloud/coding-standard in /vendor-bin/cs-fixer
Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/nextcloud/coding-standard/releases)
- [Changelog](https://github.com/nextcloud/coding-standard/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/coding-standard/compare/v1.3.1...v1.3.2)

---
updated-dependencies:
- dependency-name: nextcloud/coding-standard
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-19 07:57:35 +02:00
Josh
87aa1267a8 fix(Mailer): Fix sendmail binary fallback
feat: add debug logging to sendmail binary finder

Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-09-16 15:20:29 +02:00
Joas Schilling
36f272d03b Merge pull request #47435 from phreaker0/fix-mail-template-class-call
fix(mailer): Call to custom mail_template_class
2024-08-26 08:58:00 +02:00
Daniel Kesselberg
af6de04e9e style: update codestyle for coding-standard 1.2.3
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-08-25 19:34:58 +02:00
Christoph Klaffl
ae787c5ef2 fix call to custom mail_template_class
Signed-off-by: Christoph Klaffl <christoph@phreaker.eu>
2024-08-22 19:39:23 +02:00
Joas Schilling
693a81bfa3 fix(mail): Fix big logos in mail templates for Outlook
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-17 09:24:55 +02:00
Ferdinand Thiessen
1a27314530 fix(Mailer): Allow to enforce strict email format
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-05-31 14:18:06 +02:00
John Molakvoæ
7f2a1e5b7a Merge branch 'master' into refactor/OC-Server-getMailer
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2024-05-30 14:17:52 +02:00
Andy Scherzinger
dae7c159f7 chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-24 13:11:22 +02:00
FedericoHeichou
3cf66ae156 Add "-i" to sendmail's pipe
Signed-off-by: FedericoHeichou <federicoheichou@gmail.com>
2024-01-19 17:08:01 +01:00
Andrew Summers
7292a8d8fe Refactor OC\Server::getMailer
Signed-off-by: Andrew Summers <18727110+summersab@users.noreply.github.com>
2023-08-29 21:31:29 -05:00
Simon L
f7183c9dcf Merge pull request #38958 from nextcloud/enh/noid/use-getsystemvalue-mailer
use getsystemvalue-functions in Mailer.php
2023-06-26 10:23:29 +02:00
Faraz Samapoor
ba4f998b53 Refactors lib/private/Mail.
Mainly using PHP8's constructor property promotion.

Signed-off-by: Faraz Samapoor <fsa@adlas.at>
2023-06-25 13:18:09 +03:30
Simon L
76bedb8843 use getsystemvalue-functions in Mailer.php
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-06-23 11:16:02 +02:00
Côme Chilliet
426c0341ff Use typed version of IConfig::getSystemValue as much as possible
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-04-05 12:50:08 +02:00
Côme Chilliet
dde5c46a3e Migrate to Symfony Mailer
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-02-02 10:30:06 +01:00
Carl Schwan
9b8ca9ad1f Move findBinaryFinder and isFunctionEnabled away from OC_Helper
findBinaryFinder is now a service that is still private but with some
minor optimization (remove the hasKey check).

isFunctionEnabled is now in OCP\Util

Both function are still keep but all internal usage in nextcloud/server
were migrated to the new usage, so that we can remove it in 26

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-08-23 19:44:04 +02:00
Joas Schilling
f7eb14a9fa Extend email logging
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-06-28 08:57:03 +02:00
Côme Chilliet
6be7aa112f Migrate from ILogger to LoggerInterface in lib/private
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-03-24 16:21:25 +01:00
Carl Schwan
6312c0df69 Check style update
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-13 00:19:07 +01:00
Christoph Wurst
745543d8c0 Merge pull request #27306 from nextcloud/enh/noid/set-local-domain-for-swiftmailer
Set local domain for swiftmailer
2021-06-08 15:43:39 +02:00
John Molakvoæ (skjnldsv)
215aef3cbd Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +02:00
Daniel Kesselberg
747325fc43 Set local domain for swiftmailer transport
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-05-31 15:04:00 +02:00
dependabot-preview[bot]
eb502c02ff Bump nextcloud/coding-standard from 0.3.0 to 0.5.0
Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard) from 0.3.0 to 0.5.0.
- [Release notes](https://github.com/nextcloud/coding-standard/releases)
- [Changelog](https://github.com/nextcloud/coding-standard/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/coding-standard/compare/v0.3.0...v0.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-18 13:31:24 +01:00
Christoph Wurst
883848b58a Micro-optimize validation of empty email addresses
Then we don't have to construct any validators.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-11 15:15:38 +01:00
Christoph Wurst
d89a75be0b Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +01:00
kevin147147
120c0feb57 Fix example usage 2020-08-23 13:22:06 +02:00
Christoph Wurst
cb057829f7 Update license headers for 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-29 11:57:22 +02:00
Tekhnee
7ee67339e0 Adhere to EMailTemplate interface in constructor call.
Email creation appears to have been refactored lately but it looks like custom template-based emails were left out.

Signed-off-by: Tekhnee <info@tekhnee.org>
2020-04-25 21:24:21 +03:00
Roeland Jago Douma
bb4dedb015 Provide the proper language to the mailer
Else we can't properly translate the footer in the recipients e-mail
language.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-04-16 09:04:13 +02:00
Christoph Wurst
caff1023ea Format control structures, classes, methods and function
To continue this formatting madness, here's a tiny patch that adds
unified formatting for control structures like if and loops as well as
classes, their methods and anonymous functions. This basically forces
the constructs to start on the same line. This is not exactly what PSR2
wants, but I think we can have a few exceptions with "our" style. The
starting of braces on the same line is pracrically standard for our
code.

This also removes and empty lines from method/function bodies at the
beginning and end.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 14:19:56 +02:00
Christoph Wurst
f4c09f299d Make sure there is exactly one newline after imports
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 16:14:31 +02:00
Christoph Wurst
1a9330cd69 Update the license headers for Nextcloud 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-31 14:52:54 +02:00
Arne Hamann
a16aa99586 Added Hook before Message is send
Signed-off-by: Arne Hamann <kontakt+github@arne.email>
2020-03-24 20:57:27 +01:00
Julius Härtl
76a706738b Do not use the instance name as user part of from mail addresses
This will cause issues since the theming name can contain characters
that are not allowed in the local part of the mail address (like spaces)

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-03-12 14:20:03 +01:00
Christoph Wurst
5bf3d1bb38 Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +01:00
Roeland Jago Douma
68748d4f85 Some php-cs fixes
* Order the imports
* No leading slash on imports
* Empty line before namespace
* One line per import
* Empty after imports
* Emmpty line at bottom of file

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-22 20:52:10 +01:00
Branko Kokanovic
7cef9b0248 Addressing comments, array() to []
Signed-off-by: Branko Kokanovic <branko@kokanovic.org>
2018-12-17 23:34:55 +01:00
Branko Kokanovic
8101059062 Addressing comments, count to empty
Signed-off-by: Branko Kokanovic <branko@kokanovic.org>
2018-12-17 20:02:00 +01:00
Branko Kokanovic
72d97b44a7 Expose Swift Mailer streaming options in config, fixes #12702
Signed-off-by: Branko Kokanovic <branko@kokanovic.org>
2018-11-30 22:36:03 +01:00
Carsten Wiedmann
446d96f3eb Apply patch from @cwiedmann but drop -oi option for pipe
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-11-29 16:02:35 +01:00
Roeland Jago Douma
054056a8df Fallback to default path is sendmail can't be found
If the sendmail binary can't be found at all we fallback to the default
path.
It most likely is not there but then at least a proper error message
pops up.

Updated the tests to also properly pass.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-02 14:03:11 +01:00
Florian Klink
7078a0e53e Mailer: discover sendmail path instead of hardcoding it to /usr/sbin/sendmail
`sendmail` can very well be in a path different from
`/usr/sbin/sendmail`.

We already search `$PATH` at `lib/private/Settings/Admin/Mail.php` to
detect whether we want to offer sendmail as a mail transfer method, so
let's be consistent and actually initialize `\Swift_SendmailTransport`
with this path to sendmail, instead of just hardcoding
`/usr/sbin/sendmail`.

Signed-off-by: Florian Klink <flokli@flokli.de>
2018-11-02 13:57:43 +01:00