pub struct EmailAnnounce {
pub enabled: Option<StringOrBool>,
pub host: Option<String>,
pub port: Option<u16>,
pub username: Option<String>,
pub from: Option<String>,
pub to: Vec<String>,
pub subject_template: Option<String>,
pub message_template: Option<String>,
pub insecure_skip_verify: Option<bool>,
pub encryption: Option<EmailEncryption>,
}Fields§
§enabled: Option<StringOrBool>Enable email announcements (supports template expressions).
host: Option<String>SMTP server hostname. When set, uses SMTP transport. When absent, falls back to sendmail/msmtp.
port: Option<u16>SMTP server port (default: 587 for STARTTLS).
Anodize-additive UX win (locked 2026-04-28): GoReleaser’s
internal/pipe/smtp/smtp.go errors with errNoPort when port is
unset (zero value). Anodize defaults to 587 — the IETF submission
port — so the common case (corporate / SaaS SMTP relays exposing
STARTTLS on 587) works out of the box without a config knob. The
auto encryption mode then resolves to STARTTLS for 587, which is
the conventional pairing. Pinned by
test_email_smtp_port_defaults_to_587.
username: Option<String>SMTP username (can also be set via SMTP_USERNAME env var).
from: Option<String>Sender email address.
to: Vec<String>Recipient email addresses.
subject_template: Option<String>Email subject template. Default: “{{ .ProjectName }} {{ .Tag }} is out!”
message_template: Option<String>Email body template.
insecure_skip_verify: Option<bool>Skip TLS certificate verification (default: false).
encryption: Option<EmailEncryption>Transport encryption mode. auto (the default) picks SMTPS for port
465, plain SMTP for port 25, and STARTTLS for everything else; tls
forces SMTPS, starttls forces STARTTLS, none forces plain SMTP.
Trait Implementations§
Source§impl Clone for EmailAnnounce
impl Clone for EmailAnnounce
Source§fn clone(&self) -> EmailAnnounce
fn clone(&self) -> EmailAnnounce
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EmailAnnounce
impl Debug for EmailAnnounce
Source§impl Default for EmailAnnounce
impl Default for EmailAnnounce
Source§fn default() -> EmailAnnounce
fn default() -> EmailAnnounce
Source§impl<'de> Deserialize<'de> for EmailAnnouncewhere
EmailAnnounce: Default,
impl<'de> Deserialize<'de> for EmailAnnouncewhere
EmailAnnounce: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for EmailAnnounce
impl JsonSchema for EmailAnnounce
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read more