-
Notifications
You must be signed in to change notification settings - Fork 0
/
postie.cabal
86 lines (79 loc) · 3.26 KB
/
postie.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
name: postie
version: 0.5.0.1
cabal-version: >=1.10
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
source-repository head
type: git
location: https://github.com/alexbiehl/postie.git
flag examples
Description: Build examples
Default: False
Manual: True
library
build-depends: base >=4 && <=5, network >=2.4.1.2,
bytestring >=0.10.0.2, tls >=1.3.8, pipes >=4.1.0,
pipes-parse >=3.0.1, attoparsec >=0.10.4.0, transformers >=0.3.0.0,
mtl >=2.1.2, data-default-class >=0.0.1, uuid >= 1.3.3, stringsearch
exposed-modules: Web.Postie Web.Postie.Types Web.Postie.Settings Web.Postie.Address Web.Postie.SessionID
exposed: True
buildable: True
default-language: Haskell2010
default-extensions: Rank2Types OverloadedStrings DeriveDataTypeable
hs-source-dirs: src
other-modules: Web.Postie.Connection Web.Postie.Session
Web.Postie.Protocol Web.Postie.Pipes
ghc-options: -O2 -Wall
executable postie-example-simple
build-depends: base -any, bytestring -any, tls -any,
data-default-class -any, pipes -any, pipes-bytestring -any,
postie -any
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: base -any, bytestring -any, tls -any,
data-default-class -any, pipes -any, pipes-bytestring -any,
postie -any
if flag(examples)
buildable: True
else
buildable: False
main-is: TLS.hs
buildable: True
default-language: Haskell2010
hs-source-dirs: examples