1
0
mirror of https://github.com/flarum/core.git synced 2025-10-13 07:54:25 +02:00
Files
php-flarum/src/Mail/DriverInterface.php

39 lines
990 B
PHP

<?php
/*
* This file is part of Flarum.
*
* For detailed copyright and license information, please view the
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\Mail;
use Flarum\Settings\SettingsRepositoryInterface;
use Swift_Transport;
/**
* An interface for a mail service.
*
* This interface provides all methods necessary for configuring, checking and
* using one of Laravel's various email drivers throughout Flarum.
*
* @public
*/
interface DriverInterface
{
/**
* Provide a list of settings for this driver.
*
* The list must be an array of field names (keys) mapping to their type
* (the empty string "" for a text field; or an array of possible values for
* a dropdown field).
*/
public function availableSettings(): array;
/**
* Build a mail transport based on Flarum's current settings.
*/
public function buildTransport(SettingsRepositoryInterface $settings): Swift_Transport;
}