123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- declare(strict_types=1);
- /**
- * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
- namespace OC\Mail;
- use OCP\Mail\IAttachment;
- use Symfony\Component\Mime\Email;
- /**
- * Class Attachment
- *
- * @package OC\Mail
- * @since 13.0.0
- */
- class Attachment implements IAttachment {
- public function __construct(
- private ?string $body,
- private ?string $name,
- private ?string $contentType,
- private ?string $path = null,
- ) {
- }
- /**
- * @return $this
- * @since 13.0.0
- */
- public function setFilename(string $filename): IAttachment {
- $this->name = $filename;
- return $this;
- }
- /**
- * @return $this
- * @since 13.0.0
- */
- public function setContentType(string $contentType): IAttachment {
- $this->contentType = $contentType;
- return $this;
- }
- /**
- * @return $this
- * @since 13.0.0
- */
- public function setBody(string $body): IAttachment {
- $this->body = $body;
- return $this;
- }
- public function attach(Email $symfonyEmail): void {
- if ($this->path !== null) {
- $symfonyEmail->attachFromPath($this->path, $this->name, $this->contentType);
- } else {
- $symfonyEmail->attach($this->body, $this->name, $this->contentType);
- }
- }
- }
|