vtourraine/thirdpartymailer
_Interact with third-party iOS mail clients, using custom URL schemes._
Supported mail clients
Client | URL Scheme | App Store ------------------ | --------------- | --------- Gmail | googlegmail | link Spark | readdle-spark | link Airmail | airmail | link Microsoft Outlook | ms-outlook | link Yahoo Mail | ymail | link Fastmail | fastmail | link Proton Mail | protonmail | link Sparrow | sparrow | discontinued Dispatch | x-dispatch | discontinued
Unfortunately, not all mail clients offer URL schemes to be supported by ThirdPartyMailer. If you’re aware of another candidate, please let us know.
How to install
Swift Package Manager
In Xcode, click on the “File” menu, “Swift Packages”, “Add Package Dependency…”, then enter the URL for this repo: https://github.com/vtourraine/ThirdPartyMailer.git.
CocoaPods
With CocoaPods, simply add ThirdPartyMailer to your Podfile:
pod 'ThirdPartyMailer'Or, you can manually import the files from the Sources folder.
How to use
Getting the list of supported clients
let clients = ThirdPartyMailClient.clientsTesting the client availability (i.e. if the app is installed)
⚠️ In order to test the client availability, your app needs to declare the relevant URL scheme in its Info.plist file, by adding a LSApplicationQueriesSchemes array. You can find an example here, or check out the documentation.
if ThirdPartyMailer.isMailClientAvailable(client) {
// ...
}Opening the client (with optional message recipient, subject, body, cc, and bcc)
ThirdPartyMailer.openCompose(client, recipient: "friend@mail.com")
ThirdPartyMailer.openCompose(client, recipient: "friend@mail.com", subject: "Hello", body: "Good morning…", cc: "cc@mail.com", bcc: "bcc@mail.com"):new: Using the system default mail client
If you don’t specify a client, the openCompose(…) function will use .systemDefault, a client defined for the standard mailto: scheme. By default, it will open Apple Mail, but if the user has selected a custom mail client (iOS 14), it will automatically open it instead.
ThirdPartyMailer.openCompose(recipient: "friend@mail.com")Requirements
ThirdPartyMailer is written in Swift 5.0, requires iOS 10.0 and above, Xcode 10.2 and above.
Credits
ThirdPartyMailer was created by Vincent Tourraine.
License
ThirdPartyMailer is available under the MIT license. See the LICENSE.txt file for more info.
Package Metadata
Repository: vtourraine/thirdpartymailer
Default branch: main
README: README.md