Postal alternatives and similar libraries
Based on the "Email" category.
Alternatively, view Postal alternatives based on common mentions on social networks and blogs.
-
Mail Core 2
MailCore 2 provide a simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP. The API has been redesigned from ground up.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Postal or a related project?
Popular Comparisons
README
[](Documentation/logo.jpg)
Postal is a swift framework providing simple access to common email providers.
Example
Connect
let postal = Postal(configuration: .icloud(login: "[email protected]", password: "mypassword"))
postal.connect { result in
switch result {
case .success:
print("success")
case .failure(let error):
print("error: \(error)")
}
}
Search
let filter = .subject(value: "Foobar") && .from(value: "[email protected]")
postal.search("INBOX", filter: filter) { result in
switch result {
case .success(let indexes):
print("success: \(indexes)")
case .failure(let error):
print("error: \(error)")
}
}
Fetch
let indexset = NSIndexSet(index: 42)
postal.fetchMessages("INBOX", uids: indexset, flags: [ .headers ], onMessage: { email in
print("new email received: \(email)")
}, onComplete: error in
if error = error {
print("an error occured: \(error)")
}
}
Want to debug your IMAP session ?
postal.logger = { log in
print(log)
}
What about Mailcore ?
Postal does not address the same goal as MailCore. You can take a look at our thoughts in the [TechnicalNotes][] document.
Provider quirks
Email protocol is standardized. However providers implementations often provides extension or variations of these standards. We tried to build a document to synthesize working around these variations here: [ProviderQuirks][].
Contributing
Postal has been a great effort and we could really use your help on many areas:
- Finding and reporting bugs.
- New feature suggestions.
- Answering questions on issues.
- Documentation improvements.
- Reviewing pull requests.
- Fixing bugs/new features.
- Improving tests.
- Contribute to elaborate the [Roadmap][].
If any of that sounds cool to you, please send a pull request!
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms that you can find here: [CodeOfConduct][].
Requirements
- Xcode 10
- OS X 10.10 or later
- iOS 8.0 or later
Installation
Carthage
Postal is Carthage compatible.
- Add
github "snipsco/Postal"
to your Cartfile. - Run
carthage update
.
CocoaPods
Postal also can be used by CocoaPods.
- Add the followings to your Podfile:
use_frameworks!
pod 'Postal'
- Run
pod install
.
Manual
- Add the Postal repository as a submodule of your application’s repository.
git submodule add https://github.com/snipsco/Postal.git
git submodule update --init --recursive
- Drag and drop
Postal.xcodeproj
into your application’s Xcode project or workspace. - On the “General” tab of your application target’s settings, add
Postal.framework
to the “Embedded Binaries” section. - If your application target does not contain Swift code at all, you should also set the
EMBEDDED_CONTENT_CONTAINS_SWIFT
build setting to “Yes”.
License
Postal is released under the [MIT License](LICENCE.md).
[Roadmap]: Documentation/Roadmap.md [TechnicalNotes]: Documentation/TechnicalNotes.md [ProviderQuirks]: Documentation/ProviderQuirks.md [CodeOfConduct]: Documentation/CodeOfConduct.md
*Note that all licence references and agreements mentioned in the Postal README section above
are relevant to that project's source code only.