OpenXE/classes/Components/MailClient/Config/ImapMailClientConfig.php
2021-05-21 08:49:41 +02:00

113 lines
2.1 KiB
PHP

<?php
declare(strict_types=1);
namespace Xentral\Components\MailClient\Config;
final class ImapMailClientConfig implements ImapMailClientConfigInterface
{
/** @var string $server */
private $server;
/** @var int $port */
private $port;
/** @var string $user */
private $user;
/** @var string $password */
private $password;
/** @var string $authType */
private $authType;
/** @var bool $sslEnabled */
private $sslEnabled;
/** @var string $folder */
private $folder;
/**
* @param string $server
* @param int $port
* @param string $user
* @param string $password
* @param string $authType
* @param bool $sslEnabled
* @param string|null $folder
*/
public function __construct(
string $server,
int $port,
string $user,
string $password,
string $authType = self::AUTH_BASIC,
bool $sslEnabled = true,
string $folder = 'INBOX'
) {
$this->server = $server;
$this->port = $port;
$this->folder = $folder;
$this->user = $user;
$this->password = $password;
$this->authType = $authType;
$this->sslEnabled = $sslEnabled;
}
/**
* @return string
*/
public function getServer(): string
{
return $this->server;
}
/**
* @return int
*/
public function getPort(): int
{
return $this->port;
}
/**
* @return string
*/
public function getUser(): string
{
return $this->user;
}
/**
* @return string
*/
public function getPassword(): string
{
return $this->password;
}
/**
* @return string
*/
public function getAuthType(): string
{
return $this->authType;
}
/**
* @return bool
*/
public function isSslEnabled(): bool
{
return $this->sslEnabled;
}
/**
* @return string
*/
public function getInboxFolder(): string
{
return $this->folder;
}
}