Postal alternatives and similar libraries
Based on the "Network" category.
Alternatively, view Postal alternatives based on common mentions on social networks and blogs.
-
Perfect
Server-side Swift. The Perfect core toolset and framework for Swift Developers. (For mobile back-end development, website and API development, and more…) -
SwiftSoup
SwiftSoup: Pure Swift HTML Parser, with best of DOM, CSS, and jquery (Supports Linux, iOS, Mac, tvOS, watchOS) -
Zewo
Lightweight library for web server applications in Swift on macOS and Linux powered by coroutines. -
BlueSocket
Socket framework for Swift using the Swift Package Manager. Works on iOS, macOS, and Linux. -
Connectivity
🌐 Makes Internet connectivity detection more robust by detecting Wi-Fi networks without Internet access. -
WKZombie
WKZombie is a Swift framework for iOS/OSX to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests / snapshots and manipulate websites using Javascript. -
PeerKit
An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps -
Digger
Digger is a lightweight download framework that requires only one line of code to complete the file download task -
SOAPEngine
This generic SOAP client allows you to access web services using a your iOS app, Mac OS X app and AppleTV app. -
BigBrother
DISCONTINUED. Automatically sets the network activity indicator for any performed request.
InfluxDB - Purpose built for real-time analytics at any scale.
* 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.