. */ declare(strict_types=1); namespace FireflyIII\Mail; use Illuminate\Bus\Queueable; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; use Illuminate\Support\Collection; /** * Class ReportNewJournalsMail. * * Sends a list of newly created journals to the user. * * @codeCoverageIgnore */ class ReportNewJournalsMail extends Mailable { use Queueable, SerializesModels; /** @var string Email address of the user */ public $email; /** @var string IP address of user (if known) */ public $ipAddress; /** @var Collection A collection of journals */ public $journals; /** * ConfirmEmailChangeMail constructor. * * @param string $email * @param string $ipAddress * @param Collection $journals */ public function __construct(string $email, string $ipAddress, Collection $journals) { $this->email = $email; $this->ipAddress = $ipAddress; $this->journals = $journals; } /** * Build the message. * * @return $this */ public function build(): self { $subject = 1 === $this->journals->count() ? 'Firefly III has created a new transaction' : sprintf( 'Firefly III has created new %d transactions', $this->journals->count() ); return $this->view('emails.report-new-journals-html')->text('emails.report-new-journals-text') ->subject($subject); } }