SmtpConfig
in package
implements
JsonSerializable
SMTP-specific configuration. `password` is write-only (D-01): `#[serde(skip_serializing)]` means it is never emitted in a GET/serialized response. On the write path (D-02), `#[serde(default)]` lets a caller omit the field entirely (deserializing to `""`); an empty string is the sentinel for "no new secret supplied — preserve whatever is already stored" (see `SurrealEmailConfigRepository:: set_org_config`). A non-empty value is a real secret to encrypt+replace.
Table of Contents
Interfaces
- JsonSerializable
Properties
Methods
- __construct() : mixed
- Constructs a SmtpConfig.
- fromArray() : self
- Rebuilds a SmtpConfig from one decoded JSON object.
- jsonSerialize() : array<string, mixed>
- Renders this object for `json_encode()`.
- toArray() : array<string, mixed>
- Renders this object back to its wire form.
Properties
$host read-only
public
string
$host
$port read-only
public
int
$port
$starttls read-only
public
bool
$starttls
$username read-only
public
string
$username
Methods
__construct()
Constructs a SmtpConfig.
public
__construct(string $host, int $port, bool $starttls, string $username) : mixed
Parameters
- $host : string
-
the server's
hostfield - $port : int
-
the server's
portfield - $starttls : bool
-
Use STARTTLS (true) or implicit TLS (false).
- $username : string
-
the server's
usernamefield
fromArray()
Rebuilds a SmtpConfig from one decoded JSON object.
public
static fromArray(array<string, mixed> $data) : self
Parameters
- $data : array<string, mixed>
-
The raw wire object.
Return values
selfjsonSerialize()
Renders this object for `json_encode()`.
public
jsonSerialize() : array<string, mixed>
Any Sensitive it carries stays WRAPPED here, so a log line or a
json_encode($model) in application code prints [SENSITIVE]. The one place a secret
is revealed is ManagementTransport, on the way to the wire
and nowhere else (§27.5).
Return values
array<string, mixed>toArray()
Renders this object back to its wire form.
public
toArray() : array<string, mixed>
§27.4 rule 5: a null property is OMITTED, not emitted as null. On a sparse update those two say opposite things — "leave this alone" versus "set this to nothing" — and only omission means the first.