module Network.Mail.Assumpta.String
(
AT.runSmtp
, AT.runSecureSmtp
, AT.runSmtpWithParams
, AT.runSmtpHandle
, AT.runSmtp'
, AT.runSecureSmtp'
, AT.runSmtpWithParams'
, AT.runSmtpHandle'
, helo
, ehlo
, mailFrom
, rcptTo
, data_
, AT.noop
, AT.quit
, AT.rset
, AT.startTLS
, expn
, vrfy
, help
, sendRawMail
, AT.expect
, AT.expectGreeting
, AT.command
, AT.Reply
, AT.ReplyLine(..)
, AT.ReplyCode
, AT.SmtpError(..)
, AT.SmtpT
, AT.Smtp
, AT.liftSmtpT
, AT.mapSmtpT
, AT.open
, AT.openTls
, AT.openParams
, AT.close
, AT.withHandle
, AT.withSecureHandle
, AT.withHandleParams
, AT.HostName
, AT.Port
, AT.Handle(..)
, AT.defaultTLSSettings
, send
, sendLine
, toCrLf
, AT.rethrow
, AT.mkParams
, AT.toIOError
, AT.crlf
, escapePeriods
)
where
import Data.Foldable (toList)
import Data.Monoid
import qualified Data.Text as T
import qualified Network.Mail.Assumpta.ByteString as ABS
import qualified Network.Mail.Assumpta.Text as AT
import Network.Mail.Assumpta.MonadSmtp ( MonadSmtp )
import qualified Network.Mail.Assumpta.MonadSmtp as M
helo :: MonadSmtp m => String -> m ()
helo = AT.helo . T.pack
ehlo :: MonadSmtp m => String -> m ()
ehlo = AT.ehlo . T.pack
mailFrom :: MonadSmtp m => String -> m ()
mailFrom = AT.mailFrom . T.pack
rcptTo :: MonadSmtp m => String -> m ()
rcptTo = AT.rcptTo . T.pack
data_ :: MonadSmtp m => String -> m ()
data_ = AT.data_ . T.pack
expn :: MonadSmtp m => String -> m AT.Reply
expn = AT.expn . T.pack
vrfy :: MonadSmtp m => String -> m AT.Reply
vrfy = AT.vrfy . T.pack
help :: MonadSmtp m => Maybe String -> m AT.Reply
help = AT.help . fmap T.pack
send :: MonadSmtp m => String -> m ()
send = AT.send . T.pack
sendLine :: MonadSmtp m => String -> m ()
sendLine = AT.sendLine . T.pack
toCrLf :: String -> String
toCrLf = T.unpack . AT.toCrLf . T.pack
escapePeriods :: String -> String
escapePeriods = T.unpack . AT.escapePeriods . T.pack
sendRawMail ::
(MonadSmtp m, Foldable t) => String -> t String -> String -> m ()
sendRawMail sender recipients message =
let sender' = T.pack sender
recipients' = map T.pack (toList recipients)
message' = T.pack message
in AT.sendRawMail sender' recipients' message'