From a24906d185dedb029ee66343df03d096d3ba0ff4 Mon Sep 17 00:00:00 2001 From: grigorii Date: Fri, 23 Feb 2024 14:41:58 -0800 Subject: [PATCH] Add an option to skip adding a User-Agent --- msg.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/msg.go b/msg.go index 0efd043..53bfdbf 100644 --- a/msg.go +++ b/msg.go @@ -117,6 +117,9 @@ type Msg struct { // sendError holds the SendError in case a Msg could not be delivered during the Client.Send operation sendError error + + // noDefaultUserAgent indicates whether the default User Agent will be excluded for the Msg when it's sent. + noDefaultUserAgent bool } // SendmailPath is the default system path to the sendmail binary @@ -192,6 +195,13 @@ func WithPGPType(t PGPType) MsgOption { } } +// WithNoDefaultUserAgent configures the Msg to not use the default User Agent +func WithNoDefaultUserAgent() MsgOption { + return func(m *Msg) { + m.noDefaultUserAgent = true + } +} + // SetCharset sets the encoding charset of the Msg func (m *Msg) SetCharset(c Charset) { m.charset = c @@ -1166,6 +1176,9 @@ func (m *Msg) setEncoder() { // checkUserAgent checks if a useragent/x-mailer is set and if not will set a default // version string func (m *Msg) checkUserAgent() { + if m.noDefaultUserAgent { + return + } _, uaok := m.genHeader[HeaderUserAgent] _, xmok := m.genHeader[HeaderXMailer] if !uaok && !xmok {