リンク1つで、Postfachに新規メッセージが開きます。
Postfachには、postfach://という独自のリンクがあります。このリンクを使うと、iPhone、iPad、Macのショートカット、スクリプト、Webページ、自作のアプリから、Postfachを開いたり、宛先、件名、本文が入力された新規メッセージを作成したりできます。メッセージは開いたまま待っています。リンクで何かが送信されることはありません。
Postfach 1.7.3以降、Mac、iPhone、iPadで使えます。
リンクの一覧。
リンクでできることは2つ: Postfachを開くことと、Postfachで新規メッセージを開くことです。
| リンク | 動作 |
|---|---|
postfach:// |
Postfachを開きます。Macですべてのウインドウが閉じている場合は、メインウインドウを開きます。 |
postfach://compose?to=…&subject=…&body=… |
リンクで指定した宛先、件名、本文が入力された新規メッセージを開きます。 |
postfach://compose/anna@example.org?subject=… |
上と同じですが、アドレスはmailto:リンクと同じく“?”の前に置きます。そのため、mailto:をpostfach://compose/に置き換えれば、Postfachのリンクになります。 |
新規メッセージに含められるもの。
フィールドはmailto:リンクと同じで、読み取り方も同じです。値はそれぞれパーセントエンコードして書きます: スペースは%20、改行は%0A、テキスト中の&は%26です。+は+のまま扱われます。
メッセージの差出人は、“新規メッセージ”と同じく、開いているメールボックスのアカウントになります。送信する前に、“差出人”で別のアカウントを選ぶこともできます。
to、cc、bcc: アドレスを1つ、またはカンマで区切って複数。名前を付けることもできます:Anna%20Keller%20%3Canna@example.org%3Esubject: 1行body: 本文(改行を含む)- 受信者は100人まで、件名は1,000文字まで、本文は100,000文字まで。差出人や添付ファイルなど、リンクで指定したそれ以外のものは除外されます
使用例。
同じリンクが、iPhone、iPad、Macで使えます。
いつも同じ相手にメールを書くショートカット
“ショートカット”アプリで“URLを開く”アクションを追加し、次のようなリンクを指定します。そのショートカットをホーム画面に置けば、チーム宛てのメッセージがタップ1回で開きます。
postfach://compose?to=team@example.org&subject=Weekly%20report
共有したものをPostfachへ
共有シートからテキストを受け取るショートカット: テキストを“URLエンコード”し、“テキスト”アクションでリンクに入れて、そのリンクを“URLを開く”に渡します。これで、どのアプリでも“共有”を選ぶと、共有したテキストが入ったメッセージがPostfachで開きます。
postfach://compose?subject=Shared&body=[URLエンコード済みのテキスト]
mailto:リンクをPostfachで
iPhoneとiPadでは、mailto:リンクは“設定”で選んだメールアプリで開きます。“テキストを置き換え”を使ったショートカットで、これをPostfachのリンクに変えられます: mailto:を検索してpostfach://compose/に置き換え、“URLを開く”に渡します。Macではこの手順は必要ありません: “メール”アプリで“メール”>“設定”>“一般”を選択し、“デフォルトメールソフト”でPostfachを選びます。
mailto:anna@example.org?subject=Hello
postfach://compose/anna@example.org?subject=Hello
Macのターミナルやスクリプトから
openコマンドでリンクをPostfachに渡せます。AppleScriptのopen locationでも同じです。ビルドやテストを行うスクリプトで、メッセージを用意しておき、あとで目を通すこともできます。
open "postfach://compose?to=team@example.org&subject=Build%20finished&body=All%20tests%20passed."
osascript -e 'open location "postfach://compose?subject=Hello"'
自作のアプリから
値はすべて自分でエンコードし、そのまま残すのは英字と数字だけにします。URLComponentsは値の中の&をそのまま残すため、そこでフィールドが終わってしまいます。Postfachがインストールされているかを先に確認するには、アプリのInfo.plistでLSApplicationQueriesSchemesにpostfachを追加し、canOpenURLを呼び出します。
func encoded(_ text: String) -> String {
text.addingPercentEncoding(withAllowedCharacters: .alphanumerics) ?? ""
}
let link = "postfach://compose"
+ "?to=\(encoded("anna@example.org"))"
+ "&subject=\(encoded("Build 185"))"
+ "&body=\(encoded("It's on TestFlight & ready."))"
if let url = URL(string: link) {
UIApplication.shared.open(url) // NSWorkspace.shared.open(url)(Macの場合)
}
Webページで
ページ上のリンクは、Postfachを使っている読者にはPostfachを開きます。それ以外の人には何も起きないため、一般に公開するページでは、mailto:リンクのほうが適しています。
<a href="postfach://compose?to=support@example.org">Postfachで書く</a>
リンクにできないこと。
リンクは誰でも、どのページにも、どのアプリにも書けます。そのため、リンクにできるのはメッセージへの入力だけです。メッセージは目の前に表示され、どうするかは自分で決められます。
- 何も送信しません: “送信”は自分で押します
- ファイルを添付することも、送信に使うアカウントを選ぶこともありません
- メールを読み取ることも、検索することも、開くこともありません
- リンクを開いたアプリに、応答を返すことはありません
- 送信できるアカウントがない場合は、Postfachを開くだけです
- iPhoneとiPadでPostfachをデフォルトのメールアプリにするものではありません。
mailto:リンクは引き続き、“設定”で選んだアプリで開きます - iPhoneとiPadでは、リンクをPostfachに渡す前に、Postfachを開くかどうかを確認されることがあります