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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
// Package milter provides an interface to implement milter mail filters
package milter
// OptAction sets which actions the milter wants to perform.
// Multiple options can be set using a bitmask.
type OptAction uint32
// Set which actions the milter wants to perform.
const (
OptAddHeader OptAction = 1 << 0 // SMFIF_ADDHDRS
OptChangeBody OptAction = 1 << 1 // SMFIF_CHGBODY
OptAddRcpt OptAction = 1 << 2 // SMFIF_ADDRCPT
OptRemoveRcpt OptAction = 1 << 3 // SMFIF_DELRCPT
OptChangeHeader OptAction = 1 << 4 // SMFIF_CHGHDRS
OptQuarantine OptAction = 1 << 5 // SMFIF_QUARANTINE
// [v6]
OptChangeFrom OptAction = 1 << 6 // SMFIF_CHGFROM
OptAddRcptWithArgs OptAction = 1 << 7 // SMFIF_ADDRCPT_PAR
OptSetSymList OptAction = 1 << 8 // SMFIF_SETSYMLIST
)
// OptProtocol masks out unwanted parts of the SMTP transaction.
// Multiple options can be set using a bitmask.
type OptProtocol uint32
const (
OptNoConnect OptProtocol = 1 << 0 // SMFIP_NOCONNECT
OptNoHelo OptProtocol = 1 << 1 // SMFIP_NOHELO
OptNoMailFrom OptProtocol = 1 << 2 // SMFIP_NOMAIL
OptNoRcptTo OptProtocol = 1 << 3 // SMFIP_NORCPT
OptNoBody OptProtocol = 1 << 4 // SMFIP_NOBODY
OptNoHeaders OptProtocol = 1 << 5 // SMFIP_NOHDRS
OptNoEOH OptProtocol = 1 << 6 // SMFIP_NOEOH
OptNoUnknown OptProtocol = 1 << 8 // SMFIP_NOUNKNOWN
OptNoData OptProtocol = 1 << 9 // SMFIP_NODATA
// [v6] MTA supports ActSkip
OptSkip OptProtocol = 1 << 10 // SMFIP_SKIP
// [v6] Filter wants rejected RCPTs
OptRcptRej OptProtocol = 1 << 11 // SMFIP_RCPT_REJ
// Milter will not send action response for the following MTA messages
OptNoHeaderReply OptProtocol = 1 << 7 // SMFIP_NR_HDR, SMFIP_NOHREPL
// [v6]
OptNoConnReply OptProtocol = 1 << 12 // SMFIP_NR_CONN
OptNoHeloReply OptProtocol = 1 << 13 // SMFIP_NR_HELO
OptNoMailReply OptProtocol = 1 << 14 // SMFIP_NR_MAIL
OptNoRcptReply OptProtocol = 1 << 15 // SMFIP_NR_RCPT
OptNoDataReply OptProtocol = 1 << 16 // SMFIP_NR_DATA
OptNoUnknownReply OptProtocol = 1 << 17 // SMFIP_NR_UNKN
OptNoEOHReply OptProtocol = 1 << 18 // SMFIP_NR_EOH
OptNoBodyReply OptProtocol = 1 << 19 // SMFIP_NR_BODY
// [v6]
OptHeaderLeadingSpace OptProtocol = 1 << 20 // SMFIP_HDR_LEADSPC
)
|