注: この記事には Amazon へのアフィリエイト リンクが含まれている場合があります。これらのリンクをクリックしても追加料金は発生しませんが、これらのリンクのいずれかを通じて何かを購入すると、Hackernoon をサポートすることになります。
この投稿は、私のいつものコンテンツとは少し異なります。コードの一部が含まれていますが、あまり技術的でない読者向けに設計されているため、スクリーンショットが大量に含まれています。
いつもとは違う助けを求める声が聞こえてきました。あるカップルが別れることになり、片方が相手に悪意のあるメールをスパム送信しているそうです。受信者は Gmail フィルターを作成してメッセージをゴミ箱に入れましたが、Gmail のゴミ箱保存期間は 30 日間で、弱気になった瞬間にゴミ箱をクリックして読んでしまうのを我慢できず、当然ながら問題が悪化してしまいます。
メールの暴力的な性質を考慮して、潜在的な証拠を削除するリスクを冒したくなかったので、次のようなプロセスを作成することを提案しました。
その送信者からのメールを弁護士に自動転送する
Gmailの30日間の保存ポリシーを回避して、それらのメールを削除してゴミ箱から完全に消去します。
この特定のケースでは、転送先アドレスは弁護士になります。Gmail の設定に移動し、「転送と POP/IMAP」を選択して、「転送先アドレスを追加」をクリックします。
転送は無効にしておいてください。単一の送信者からのメールのみを転送します。
転送先アドレスを追加すると、Gmail からそのメール アドレス (弁護士) に確認メールが送信され、許可を求められます。許可されると、次のステップに進むことができます。 Forwarding
必ず無効にしておいてください。
ここでは、 [email protected]
からのすべてのメールが[email protected]
に転送され、その後ゴミ箱に送信されるよう指定します。
「フィルターとブロックされたアドレス」に移動し、「新しいフィルターの作成」をクリックします。
フィルターを追加するためのフォームが開きます。特定のアドレスからのすべてのメッセージをフィルター処理したい場合は、フィルターに「 [email protected] 」を追加し、「フィルターの作成」を選択します。
ここで、フィルターに何をさせたいかを正確に選択する必要があります。このケースでは、メールを弁護士に転送するので、そのボックスにチェックを入れます。また、メールを削除したいので、そのボックスにもチェックを入れます。
これで問題の半分は解決し、プロセスの中で最も簡単な部分です。次に難しいのは、メールを読みたくならないように、ゴミ箱からメールを即座に削除する方法です。Google Apps Script が助けになります!
Google ドライブには、スクリプトをホストして実行できる機能があります。ほとんどの開発者はこれをよく知っていますが、パワー ユーザーは知らないかもしれません。現在のタスクには、この機能はまさに最適です。
https://script.google.com/にアクセスし、必要に応じて認証手順に従い、「新しいプロジェクト」をクリックします。
これでプロジェクト画面が表示されます。Gmail とやり取りする必要があるので、そのサービスを追加しましょう。「サービス」の横にある大きな+
をクリックし、 Gmail API
を探して追加します。
ここで、 myFunction
をこのコードに置き換えます。 [email protected] をゴミ箱から削除したい実際のアドレスに変更する必要があることに注意してください。
function deleteMailsFromTrash() { var gmailSearchString = `in:trash from:[email protected]` var threads = GmailApp.search(gmailSearchString); const n = threads.length; if (n <= 0) { Logger.log("No threads matching search string \"%s\"", gmailSearchString); return } else { Logger.log("%s threads matching action **%s**", n, gmailSearchString); } for (var i = 0; i < threads.length; i++) { var thread = threads[i]; Logger.log(`\t Thread# ${i} [ID: ${thread.getId()}]: [message : ${thread.getFirstMessageSubject()}] deleted`); Gmail.Users.Threads.remove('me', thread.getId()); } }
このスクリプトは、 [email protected]
からのメールをゴミ箱から探し、削除します。
画面は次のようになります。「Untitled project」の名前を「Purge Specific Mails from Trash」など、より意味のある名前に変更します。また、 myFunction
deleteMailsFromTrash
に変更し、 Run
をクリックします。
Google アカウントにアクセスするための許可を与えるよう求められます。
今、エラーが発生します。Google はこのアプリを検証していません。開発者がアプリを検証していない間は、使用しないでください。この特定のケースでは、あなたが開発者です。そのため、このソリューションを事前に作成されたスクリプトとしてリリースしませんでした。コードを自分の側で実行する方が安全です。
「ゴミ箱から特定のメールを消去する (安全でない)」リンクをクリックして続行します。Apps Script ウィンドウに、スクリプトの最初の実行が表示されます。
私の場合、「ゴミ箱」に[email protected]
からのメールがないので、プログラムは単に「検索文字列に一致するスレッドはありません」と出力します。あなたの場合は、いくつかのメールが削除されているのがわかるかもしれません。よくできました。
これですべてが機能するようになりましたが、不要な電子メールが適時に削除されるように、スクリプトを自動的に実行するためのトリガーを設定する必要があります。
時間駆動トリガーが必要になります。スケジュールに従って実行され、上で作成したフィルターによってゴミ箱に置かれたメールが、ユーザーがアクセスする前に確実に消去されるようなトリガーです。
左側のサイドバーの時計をクリックし、次に右下にある「トリガーの追加」と書かれた大きな青いボタンをクリックして、下の画像のようにフィルターを設定します。
このスクリプトは 5 分ごとに実行するように設定していますが、必要に応じて間隔を 1 分まで短く調整できます。必要に応じて調整してください。間隔を長く設定するのは、単に Google のインフラストラクチャに配慮した方法です。
ここで、期待どおりに動作していることを確認するために、左側のサイドバーで、実行をクリックします。スクリプトが実行されたすべての回数を示すテーブルが表示されます。実装したばかりなので、おそらく 2 ~ 3 回の実行があるはずです。1 つは手動で実行したときの手動Type: Editor
で、もう 1 つはType: Time-Driven
というラベルの付いた時間駆動トリガーからのものです。
こうした状況に対処するのは難しいかもしれませんが、健康を守ることが最優先事項であることを忘れないことが重要です。
テクノロジーは有害な妨害を最小限に抑えるのに役立ちますが、回復には時間と自己への思いやりが必要です。強い気持ちを持ち、自分を大切にし、ためらわずにサポートを求めてください。
あなたはこのプロセスを通して平和と癒しを得るに値します。
これまでにリュックサックを試したことがあるかどうかはわかりませんが、リュックサックは心を解放してくれるものだと思います。
単に荷物を背負って歩くことです。もともとは軍隊の訓練でしたが、体力、安定性、精神の健康に効果があることから人気が高まっています。ぜひお試しください。
この投稿は元々