SMTP client implementation
- data Command
- data Response
- = Ok
- | SystemStatus
- | HelpMessage
- | ServiceReady
- | ServiceClosing
- | UserNotLocal
- | CannotVerify
- | StartMailInput
- | ServiceNotAvailable
- | MailboxUnavailable
- | ErrorInProcessing
- | InsufficientSystemStorage
- | SyntaxError
- | ParameterError
- | CommandNotImplemented
- | BadSequence
- | ParameterNotImplemented
- | MailboxUnavailableError
- | UserNotLocalError
- | ExceededStorage
- | MailboxNotAllowed
- | TransactionFailed
- data BSStream s => SMTPConnection s
- connectSMTPPort :: String -> PortNumber -> IO (SMTPConnection Handle)
- connectSMTP :: String -> IO (SMTPConnection Handle)
- connectStream :: BSStream s => s -> IO (SMTPConnection s)
- sendCommand :: BSStream s => SMTPConnection s -> Command -> IO (ReplyCode, ByteString)
- closeSMTP :: BSStream s => SMTPConnection s -> IO ()
- sendMail :: BSStream s => String -> [String] -> ByteString -> SMTPConnection s -> IO ()
- doSMTPPort :: String -> PortNumber -> (SMTPConnection Handle -> IO a) -> IO a
- doSMTP :: String -> (SMTPConnection Handle -> IO a) -> IO a
- doSMTPStream :: BSStream s => s -> (SMTPConnection s -> IO a) -> IO a
- sendMimeMail :: BSStream s => String -> String -> String -> Text -> Text -> [(String, FilePath)] -> SMTPConnection s -> IO ()
|AUTH AuthType UserName Password|
connecting SMTP server with the specified name and port number.
connecting SMTP server with the specified name and port 25.
create SMTPConnection from already connected Stream
Operation to a Connection
send a method to a server
close the connection. This function send the QUIT method, so you do not have to QUIT method explicitly.
Other Useful Operations
|:: BSStream s|
|-> SMTPConnection s|
|-> IO ()|
sending a mail to a server. This is achieved by sendMessage. If something is wrong, it raises an IOexception.
doSMTPPort open a connection, and do an IO action with the connection, and then close it.
doSMTP is similar to doSMTPPort, except that it does not require port number but connects to the server with port 25.
doSMTPStream is similar to doSMTPPort, except that its argument is a Stream data instead of hostname and port number.