Installation

Signing in

Prepare your account for signing in to Swift Mail

Setup your account to enable access by a third-party mail client (i.e., a non-Fastmail client) and understand how your credentials are handled securely by Swift Mail.


Generate an API token

An API token can be generated by visiting your Fastmail account on the web and navigating to Settings > Privacy & Security > Integrations and selecting New API token under the API tokens section.

Provide a name for your new API token and enable the Email and Email submission checkboxes. Read-only access and Masked Email capabilities are not currently supported.

Note: App passwords are no longer supported. OAuth support will be added in a future update.


Understand how account credentials are stored

Swift Mail implements Appleā€™s networking & authentication APIs when connecting to remote mail servers to retrieve account data on behalf of the user.

Upon installing and successfully signing into Swift Mail for the first time, account credentials are automatically encrypted and stored in the keychain. When subsequent calls to the server are made, authentication is managed by the system without the need for Swift Mail to intervene.

This allows Swift Mail to operate without knowledge of a user's account credentials.

Keychain access & app updates

Occasionally, you may be prompted to allow keychain access after updates.

Please select always allow when prompted.

Allowing keychain access after an update simply validates Swift Mailā€™s access to the keychain entries created on first successful sign in to Swift Mail.

Inspecting keychain permissions

Searching the keychain app for Fastmail, for example, should return two entries used by Swift Mail: one starting with jmap.fastmail.com and another starting with www.fastmailusercontent.com.

You can view access permissions by double clicking an entry in the list and selecting the Access Control tab.

What if I don't use the keychain?

The keychain is used by macOS system-wide as a secure database for a variety of data including wifi passwords, security certificates, and web logins to name a few.

As such, it is recommended that app developers use the keychain for managing sensitive app information as well. See Apple's Keychain Services documentation for additional details.

Searching macOSā€™s Keychain Access.app should return several examples of the various use-cases mentioned above. The full path to the keychain app is /Applications/Utilities/Keychain Access.app.

Previous
ā† Getting started