go-mail/tls.go

38 lines
1,002 B
Go
Raw Normal View History

// SPDX-FileCopyrightText: 2022-2023 The go-mail Authors
//
// SPDX-License-Identifier: MIT
2022-03-05 16:27:09 +01:00
package mail
// TLSPolicy type describes a int alias for the different TLS policies we allow
type TLSPolicy int
const (
// TLSMandatory requires that the connection to the server is
2022-03-05 16:27:09 +01:00
// 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
2022-03-05 16:27:09 +01:00
// STARTTLS protocol. If the server does not support this, it will fall
// back to non-encrypted plaintext transmission
2022-03-05 16:27:09 +01:00
TLSOpportunistic
// NoTLS forces the transaction to be not encrypted
2022-03-05 16:27:09 +01:00
NoTLS
)
2022-03-07 16:24:49 +01:00
// String is a standard method to convert a TLSPolicy into a printable format
func (p TLSPolicy) String() string {
switch p {
case TLSMandatory:
return "TLSMandatory"
case TLSOpportunistic:
return "TLSOpportunistic"
case NoTLS:
return "NoTLS"
default:
return "UnknownPolicy"
}
}