File: //usr/local/mailchannels/models/OutboundConfig.php
<?php
namespace MailChannels;
class OutboundConfig implements \JsonSerializable {
private $username;
private $password;
private $autoUpdateSPFRecords; //flag to update spf records on auto / configuration processes
private $enforceDNSLimit;
private $enableDkim;
private $enableMailManHeaders;
private $enableDomainLockdown;
public function __construct($username, $password, $autoUpdateSPFRecords, $enforceDNSLimit, $enableDkim, $enableMailManHeaders, $enableDomainLockdown) {
$this->username = $username;
$this->password = $password;
$this->autoUpdateSPFRecords = $autoUpdateSPFRecords;
$this->enforceDNSLimit = $enforceDNSLimit;
$this->enableDkim = $enableDkim;
$this->enableMailManHeaders = $enableMailManHeaders;
$this->enableDomainLockdown = $enableDomainLockdown;
}
public function getUsername() {
return $this->username;
}
public function setUsername($username) {
$this->username = $username;
}
public function getPassword() {
return $this->password;
}
public function setPassword($password) {
return $this->password = $password;
}
public function autoUpdateSPFRecords() {
return $this->autoUpdateSPFRecords;
}
public function setAutoUpdateSPFRecords($autoUpdate) {
$this->autoUpdateSPFRecords = $autoUpdate;
}
public function enforceDNSLimit() {
return $this->enforceDNSLimit;
}
public function setEnforceDNSLimit($enforceDNS) {
$this->enforceDNSLimit = $enforceDNS;
}
public function setEnableDkim($enable) {
$this->enableDkim = $enable;
}
public function enableDkim() {
return $this->enableDkim;
}
public function setEnableMailManHeaders($enableMailManHeaders) {
$this->enableMailManHeaders = $enableMailManHeaders;
}
public function enableMailManHeaders() {
return $this->enableMailManHeaders;
}
public function setEnableDomainLockdown($enableDomainLockdown) {
$this->enableDomainLockdown = $enableDomainLockdown;
}
public function enableDomainLockdown() {
return $this->enableDomainLockdown;
}
public function jsonSerialize() {
return [
'username' => $this->username,
'hasPassword' => $this->password != null,
'autoUpdateSPFRecords' => $this->autoUpdateSPFRecords,
'enforceDNSLimit' => $this->enforceDNSLimit,
'enableDkim' => $this->enableDkim,
'enableMailManHeaders' => $this->enableMailManHeaders,
'enableDomainLockdown' => $this->enableDomainLockdown
];
}
}