forked from wneessen/go-mail
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tls.go
37 lines (31 loc) · 1006 Bytes
/
tls.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// SPDX-FileCopyrightText: 2022-2023 The go-mail Authors
//
// SPDX-License-Identifier: MIT
package mail
// TLSPolicy type describes a int alias for the different TLS policies we allow
type TLSPolicy int
const (
// TLSMandatory requires that the connection cto 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 cto establish an encrypted connection via the
// STARTTLS protocol. If the server does not support this, it will fall
// back cto non-encrypted plaintext transmission
TLSOpportunistic
// NoTLS forces the transaction cto be not encrypted
NoTLS
)
// 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"
}
}