AppleサポートAppおよびYouTubeチャンネルのお知らせ

* iOS向けAppleサポートAppのバージョン5.6.1が公開されました。

YouTube - Apple Japanチャンネルで有用なヒントや使い方を配信中です。

コミュニティでの投票方法と通知設定

コミュニティでの投票方法や通知の設定方法に関する記事を公開しました。

Apple Account(Apple ID)の不正利用を確認する方法

Apple Accountに関するよくある質問についてはこちらのページを、また不正利用を確認する方法についてはこちらのドキュメントをご参照ください。

メールアプリで受信箱以外のメールボックスに受信したメッセージにルールを適用したい

メール.app において、受信箱以外のメールボックスに保存されるメッセージがあり、それらを受信時に自動で既読にするルールを設定したいのですが、その方法が見つかりません。観察できる限り、ルールは受信箱(inbox)に保存されるメッセージにのみ適用されるようです。

事情を説明すると、さくらインターネットの「高精度迷惑メールフィルタ」を使用しており、スパム判定されると「迷惑メール(デフォルトのそれとは異なる)」(spam)メールボックスに保存されます。この設定は変更できません。

現状、この迷惑メールが大量に届き、未読マークが付いているだけでストレスなので、自動で既読ステイタスに変更したいのです。

適切な方法がありましたら、ご教示いただけると助かります。よろしくお願いいたします。

MacBook Pro 13″, macOS 15.2

投稿日 2024/12/16 10:31

返信
スレッドに付いたマーク ランキングトップの返信

投稿日 2024/12/19 06:52

有難うございます。


Unknown_Alto さんによる書き込み:

ルールの対象を「すべてのメッセージ」にしても、あくまで「受信箱」(inbox)にあるすべてのメッセージであり、そのほかのメールボックスのメッセージは対象になりませんでした

そうです。 inboxにある全てのメールを受信する毎に、AppleScriptのルールを実行できます。 あるいは、アカウントの指定もできそうですよ。 つまり、さくらインターネットのアカウントのメールを受信する毎に実行することもできそうです。


これは(1)ができなくても、AppleScript 単体で実現できるという意味でしょうか?

そうです。 例えば、以下のステートメンツのAppleScriptをルールにします。 この例では、『さくら』というメールアカウントがあって、その中に『Junk』というメールボックスがあると仮定しています。 その中にある全てのメールを既読にするものです。


tell application "Mail"

set junkList to every message of mailbox "Junk" of account "さくら"

repeat with junk in junkList

set read status of junk to true

end repeat

end tell


アカウントの名前は、下記のAppleScriptのステートメンツを実行するとリスト形式で返してくれますよ。


tell application "Mail"

name of every account

end tell


ご確認下さい。

返信: 13
スレッドに付いたマーク ランキングトップの返信

2024/12/19 06:52 Unknown_Alto への返信

有難うございます。


Unknown_Alto さんによる書き込み:

ルールの対象を「すべてのメッセージ」にしても、あくまで「受信箱」(inbox)にあるすべてのメッセージであり、そのほかのメールボックスのメッセージは対象になりませんでした

そうです。 inboxにある全てのメールを受信する毎に、AppleScriptのルールを実行できます。 あるいは、アカウントの指定もできそうですよ。 つまり、さくらインターネットのアカウントのメールを受信する毎に実行することもできそうです。


これは(1)ができなくても、AppleScript 単体で実現できるという意味でしょうか?

そうです。 例えば、以下のステートメンツのAppleScriptをルールにします。 この例では、『さくら』というメールアカウントがあって、その中に『Junk』というメールボックスがあると仮定しています。 その中にある全てのメールを既読にするものです。


tell application "Mail"

set junkList to every message of mailbox "Junk" of account "さくら"

repeat with junk in junkList

set read status of junk to true

end repeat

end tell


アカウントの名前は、下記のAppleScriptのステートメンツを実行するとリスト形式で返してくれますよ。


tell application "Mail"

name of every account

end tell


ご確認下さい。

2024/12/17 07:26 T22T への返信

訂正:すみません、『高精度迷惑メールフィルタ』で既にメールボックスに移動させられているわけですね。 そのメールのアカウントがわかれば、毎回受信するたびにAppleScriptを実行するルールを適用できますよ。

2024/12/18 07:05 Unknown_Alto への返信

1)メールの設定>ルールで、『すべてのメッセージ』を選択できますので、発火は可能だと思います。

2)AppleScriptでもメールボックスを指定してメッセージを選択できますので、既読にすることもできると思います。

でも、ちょっと書き方に工夫が必要ですよ。

Macの「メール」でルールの操作としてスクリプトを使用する - Apple サポート (日本)

Applescript: creating mail rules - Apple Community


2024/12/16 12:59 Unknown_Alto への返信

これもお望みの回答ではないかもしれませんが……


「軽く確認するのも一苦労」ということで、確認しなくてもいいのなら、そのメールボックスを右クリックすると「すべてのメッセージを開封済みにする」があると思いますが、手動でこれを選択するという案もダメですか?


それと、余計な詮索ですが、会社とか事業所とかの話でしょうか。個人(個人事業主も含めて)なら、一日数百通もの迷惑メールが届くのは普通ではない(そのアドレスが広く漏えいしている)と思うので、私なら、アドレスを変えることを考えると思います。

2024/12/16 14:17 Junkot への返信

ご回答ありがとうございます。

複数のご意見をいただけるのは、とてもありがたいです。


ご提案の方法でこれまで対処してきたのですが、なるべく気にしたくないので、自動で処理できないものかと検討している次第です。


最悪の場合はご提案のとおり、メールアドレスの変更も考えないといけないですね。

ただ、十分な告知と移行期間を設けないといけないでしょうし、現実的には簡単ではありません。


迷惑メールの数は多いですが、パターンが類似するものがほとんどで、発信元は限られているのではと希望的に推測しています。

変に手動で確認・分類しながら処理しようとしたがために、うっかりプレビューしてしまい、アクティブなメールアドレスと認定されて頻度が増えてしまったのではないかと想像しています。

しばらく反応が返らないようにして、落ち着いてくれるとよいのですが。


ご指摘の点はもっともで、状況をみて対処したいと思います。

2024/12/17 12:11 T22T への返信

AppleScript を使用する発想はありませんでした。

ご提案ありがとうございます。


適切なスクリプトを書けたとして、どのように発火させるかが問題になるような気がします。

メール.app での受信時に実行させたいわけですが、その AppleScript を実行するルールは受信箱(inbox)のメッセージにしか適用されないようです。


まあ、これまで AppleScript を書いたことがないという問題もあるのですが、それは調べればなんとかなるとして。

2024/12/18 12:31 T22T への返信

ご返信ありがとうございます。

やってみようと思うのですが、その前に質問させてください。


(1)について

ルールの対象を「すべてのメッセージ」にしても、あくまで「受信箱」(inbox)にあるすべてのメッセージであり、そのほかのメールボックスのメッセージは対象になりませんでした。サンプルで、すべてのメッセージにラベルを付けるルールを作成して試しました。

これができるのであれば、「高精度迷惑メールフィルタ」で追加されるヘッダー情報はわかっているので、ルール機能だけで実装可能と思われます。


(2)について

これは(1)ができなくても、AppleScript 単体で実現できるという意味でしょうか?

別の回答者の Junkot さんにご教示いただいたように、手動であれば、簡単な操作でメールボックスごとすべてのメッセージを開封済みにできます。私の希望はわがままで、メール.app で受信するだけで spamメールボックス内のすべてのメッセージ(あるいは、特定のヘッダー情報が設定されたメッセージ)を開封済みにしたいというものです。

もし実現可能なのであればトライしたいのですが、なにぶん AppleScript を書いたことがありません。どのようなアプローチで発火させればよいか検討もつきませんし、アドバイスいただければとても助かります。

想像してみるに、メール.app を起動時にスクリプトを実行させてメッセージ受信完了イベントを待機し、対象メッセージを開封済みにする感じになるでしょうか…


長々とすいません。

興味深いご提案なのでつい。

2024/12/19 11:20 T22T への返信

ソースコードまで提示していただいて感謝です。🙏

実際にルールを設定して、意図どおりに動作することを確認できました!


なお、さくらインターネットの「高精度迷惑メールフィルタ」を使用している方のために、

迷惑メールが保存されるメールボックスについて補足しておきます。(こんなニーズはレアでしょうけど)

メールボックス名は "spam" で "INBOX" に内包されているので、次のように指定する必要がありました。

(メールアカウント名 "さくら" は仮です)


set junkList to every message of mailbox "spam" of mailbox "INBOX" of account "さくら"



これにて問題解決とさせていただきます。

T22Tさん、こちらの発想にないご提案でとても助かりました。

誠にありがとうございました。

2024/12/16 10:41 Unknown_Alto への返信

>、受信箱以外のメールボックスに保存されるメッセージがあり、それらを受信時に自動で既読にするルールを設定したい

無いと思う。


>この迷惑メールが大量に届き、未読マークが付いているだけでストレスなので、

どのメールサーバも同様じゃなかろう。

間違いを軽く確認しつつ、既読または削除していくのが、安全な運用なのでは。


2024/12/16 11:05 xy への返信

早々のご回答、ありがとうございます。

基本的に、できなさそうだけどどうにかしたいから質問している

と捉えていただけると幸いです。

1日に数百通も届くと、軽く確認するのも一苦労ですし、

常にですからストレスも軽視できないのですよ。

(迷惑メール判定されたメッセージの保存先メールボックスを選べればよいのですが、それはまた別の話)

2024/12/18 12:59 Unknown_Alto への返信

追記


「受信箱」(inbox)に受信メッセージがあったときに AppleScript を実行させて、(それ以外の)指定したメールボックスのメッセージを既読にする、ということでしょうか?(返事を書いてから気づくパターン)

受信箱に受信がない場合は発火しませんが、ベターですね。

メールアプリで受信箱以外のメールボックスに受信したメッセージにルールを適用したい

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。