assumpta-core: Core functionality for an SMTP client

[ bsd2, library, network ] [ Propose Tags ]

A library for constructing SMTP clients, which provides the core functionality for assumpta. It provides a monad transformer and an mtl-style class for sending SMTP commands (including STARTTLS) to a server and checking for expected responses, over some abstract connection type.

It does not provide a concrete implementation which can actually be used to communicate over a network - for that, see the assumpta package.

For further details, please see the README on GitHub at https://github.com/phlummox/assumpta-core#readme.


[Skip to Readme]

Flags

Manual Flags

NameDescriptionDefault
test-doctests

enable doctests

Disabled
warnmore

Enable plenty of ghc warning flags

Enabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.0.1, 0.1.0.2
Change log ChangeLog.md
Dependencies attoparsec, base (>=4.0 && <5), base64-bytestring, bytestring, constraints, cryptonite, exceptions, memory, mtl, text, transformers [details]
License BSD-2-Clause
Copyright 2020 phlummox
Author phlummox
Maintainer phlummox2@gmail.com
Category Network
Home page https://github.com/phlummox/assumpta-core#readme
Bug tracker https://github.com/phlummox/assumpta-core/issues
Source repo head: git clone https://github.com/phlummox/assumpta-core
Uploaded by phlummox at 2020-01-27T21:03:58Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 936 total (10 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for assumpta-core-0.1.0.1

[back to package description]

assumpta-core Hackage version Linux Build Status phlummox

A library for constructing SMTP clients, which provides the core functionality for assumpta. It provides a monad transformer and an mtl-style class for sending SMTP commands (including STARTTLS) to a server and checking for expected responses, over some abstract connection type.

It does not provide a concrete implementation which can actually be used to communicate over a network - for that, see the assumpta package.

Installation

assumpta-core can be installed in the standard way using stack or cabal (e.g. stack install assumpta-core).

Usage

See the assumpta package for examples of usage.

Typically, you will want to:

  • write an instance of the Connection class in Network.Mail.Assumpta.Connection, providing a concrete implementation in terms of some networking library. (assumpta contains one based on connection.)
  • for convenience, write a type synonym for the SmtpT transformer, specialized over your new Connection instance (MySmtpT = SmtpT MyConnection).
  • And that should be enough for you to start communicating with a server. See the examples in assumpta for more details.

FAQ

  • Q. Why the name 'Assumpta'?

    A. Dunno, I just like it as a name. It means "assumption" you know. I find I make many of those when programming.

Acknowledgements

Many thanks to Alexander Vieth (author of smtp-mail-ng), and to Jason Hickner and Matt Parsons (authors of smtp-mail), whose packages provided the original basis for the assumpta-core code.