{-| Module: IHP.Mail.Types Description: Types for emails Copyright: (c) digitally induced GmbH, 2020 -} module IHP.Mail.Types ( MailServer (..) , MailAttachment (..) , SMTPEncryption (..) ) where import IHP.Prelude import Network.Socket (PortNumber) -- | Configuration for a mailer used by IHP data SMTPEncryption = Unencrypted | TLS | STARTTLS data MailServer = -- | Uses AWS SES for sending emails SES { accessKey :: ByteString , secretKey :: ByteString -- | E.g. @"us-east-1"@ or @"eu-west-1"@ , region :: Text } -- | Uses the local Sendmail binary for sending emails | Sendmail -- | Uses SendGrid for sending emails | SendGrid { apiKey :: Text , category :: Maybe Text } -- | Uses a generic SMTP server for sending emails | SMTP { host :: String , port :: PortNumber -- (Username,Password) combination , credentials :: Maybe (String, String) , encryption :: SMTPEncryption } data MailAttachment = MailAttachment { name :: Text -- ^ File name of an attachment , content :: LByteString , contentType :: Text } deriving (Eq, Show)