postie-0.6.0.2: postie.cabal
cabal-version: >=1.10
name: postie
version: 0.6.0.2
build-type: Simple
license: BSD3
license-file: LICENSE
maintainer: alex.biehl@gmail.com
synopsis: SMTP server library to receive emails from within Haskell programs.
category: Network
description: `postie` is a little smtp server library for receiving emails. It is currently
in a very early stage and not yet fully standard compatible although the standard
protocol is already supported.
.
* At the time of writing parameters on smtp commands can not be parsed.
.
* Handler functions need to return more detailed information to cancel a transaction.
.
`postie` supportes hooks on key commands in an smtp session like
.
* on connection open and close
.
* on /MAIL FROM/ command e.g. to intercept transaction if sender is blacklisted
.
* on /RCPT TO/ command e.g. to check if recipient is existent on your server
.
* and many more
.
To run `postie` you only need to supply a function which takes a `Mail` and
return `Accepted` or `Rejected`. `mailBody` is a `pipes` `Producer` which
streams the encoded body directly to your application code. The body is not
parsed by `postie` since it depends on what the application wants to do with
the mail data. Eventually I will create a seperate package for parsing mime
messages with `pipes-parse` when postie becomes more stable and standard compliant.
author: Alex Biehl
extra-source-files:
examples/tls/server.crt,
examples/tls/server.key
source-repository head
type: git
location: https://github.com/alexbiehl/postie.git
flag examples
Description: Build examples
Default: False
Manual: True
library
build-depends:
attoparsec >= 0.13.2 && < 0.14,
base >= 4.13.0 && < 4.14,
bytestring >= 0.10.10 && < 0.11,
data-default-class >= 0.1.2 && < 0.2,
mtl >= 2.2.2 && < 2.3,
network >= 3.1.1 && < 3.2,
pipes >= 4.3.14 && < 4.4,
pipes-parse >= 3.0.8 && < 3.1,
tls >= 1.5.4 && < 1.6,
uuid >= 1.3.13 && < 1.4
exposed-modules:
Network.Mail.Postie
Network.Mail.Postie.Address
Network.Mail.Postie.Types
Network.Mail.Postie.SessionID
Network.Mail.Postie.Settings
exposed: True
buildable: True
default-language: Haskell2010
default-extensions: Rank2Types OverloadedStrings DeriveDataTypeable
hs-source-dirs: src
other-modules:
Network.Mail.Postie.Connection
Network.Mail.Postie.Pipes
Network.Mail.Postie.Protocol
Network.Mail.Postie.Session
ghc-options:
-Wall
-Wcompat
-Widentities
-Wincomplete-record-updates
-Wincomplete-uni-patterns
-Wpartial-fields
-Wredundant-constraints
executable postie-example-simple
build-depends:
postie,
base >= 4.13.0 && < 4.14,
pipes-bytestring >= 2.1.6 && < 2.2
if flag(examples)
buildable: True
else
buildable: False
main-is: Simple.hs
buildable: True
default-language: Haskell2010
hs-source-dirs: examples
executable postie-example-tls
build-depends:
postie,
base >= 4.13.0 && < 4.14,
pipes-bytestring >= 2.1.6 && < 2.2
if flag(examples)
buildable: True
else
buildable: False
main-is: TLS.hs
buildable: True
default-language: Haskell2010
hs-source-dirs: examples