Portability | portable |
---|---|
Stability | stable |
Maintainer | mukai@jmuk.org |
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 -> [(Text, FilePath)] -> SMTPConnection s -> IO ()
Types
data BSStream s => SMTPConnection s Source
Establishing Connection
:: String | name of the server |
-> PortNumber | port number |
-> IO (SMTPConnection Handle) |
connecting SMTP server with the specified name and port number.
:: String | name of the server |
-> IO (SMTPConnection Handle) |
connecting SMTP server with the specified name and port 25.
connectStream :: BSStream s => s -> IO (SMTPConnection s)Source
create SMTPConnection from already connected Stream
Operation to a Connection
sendCommand :: BSStream s => SMTPConnection s -> Command -> IO (ReplyCode, ByteString)Source
send a method to a server
closeSMTP :: BSStream s => SMTPConnection s -> IO ()Source
close the connection. This function send the QUIT method, so you do not have to QUIT method explicitly.
Other Useful Operations
:: BSStream s | |
=> String | sender mail |
-> [String] | receivers |
-> ByteString | data |
-> SMTPConnection s | |
-> IO () |
sending a mail to a server. This is achieved by sendMessage. If something is wrong, it raises an IOexception.
doSMTPPort :: String -> PortNumber -> (SMTPConnection Handle -> IO a) -> IO aSource
doSMTPPort open a connection, and do an IO action with the connection, and then close it.
doSMTP :: String -> (SMTPConnection Handle -> IO a) -> IO aSource
doSMTP is similar to doSMTPPort, except that it does not require port number but connects to the server with port 25.
doSMTPStream :: BSStream s => s -> (SMTPConnection s -> IO a) -> IO aSource
doSMTPStream is similar to doSMTPPort, except that its argument is a Stream data instead of hostname and port number.