mirror of
https://github.com/wneessen/go-mail.git
synced 2024-11-14 18:02:55 +01:00
Winni Neessen
f0388ec600
Updated the TLSPolicy type documentation to improve clarity and consistency. Enhanced the String method with detailed commentary and return value explanation, ensuring it better adheres to the fmt.Stringer interface.
44 lines
1.3 KiB
Go
44 lines
1.3 KiB
Go
// SPDX-FileCopyrightText: 2022-2023 The go-mail Authors
|
|
//
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package mail
|
|
|
|
// TLSPolicy is a type wrapper for an int type and describes the different TLS policies we allow.
|
|
type TLSPolicy int
|
|
|
|
const (
|
|
// TLSMandatory requires that the connection to the server is
|
|
// encrypting using STARTTLS. If the server does not support STARTTLS
|
|
// the connection will be terminated with an error.
|
|
TLSMandatory TLSPolicy = iota
|
|
|
|
// TLSOpportunistic tries to establish an encrypted connection via the
|
|
// STARTTLS protocol. If the server does not support this, it will fall
|
|
// back to non-encrypted plaintext transmission.
|
|
TLSOpportunistic
|
|
|
|
// NoTLS forces the transaction to be not encrypted.
|
|
NoTLS
|
|
)
|
|
|
|
// String satisfies the fmt.Stringer interface for the TLSPolicy type.
|
|
//
|
|
// This function returns a string representation of the TLSPolicy. It matches the policy
|
|
// value to predefined constants and returns the corresponding string. If the policy does
|
|
// not match any known values, it returns "UnknownPolicy".
|
|
//
|
|
// Returns:
|
|
// - A string representing the TLSPolicy.
|
|
func (p TLSPolicy) String() string {
|
|
switch p {
|
|
case TLSMandatory:
|
|
return "TLSMandatory"
|
|
case TLSOpportunistic:
|
|
return "TLSOpportunistic"
|
|
case NoTLS:
|
|
return "NoTLS"
|
|
default:
|
|
return "UnknownPolicy"
|
|
}
|
|
}
|