ホームページ > ウェブフロントエンド > jsチュートリアル > Apps Script - Gmail に埋め込まれているすべてのニュースレターをリストします。選択的な購読解除が簡単になりました

Apps Script - Gmail に埋め込まれているすべてのニュースレターをリストします。選択的な購読解除が簡単になりました

Linda Hamilton
リリース: 2025-01-27 00:33:09
オリジナル
194 人が閲覧しました

Apps Script - List all the newsletters filling up your Gmail. Selective unsubscribing got easy


あふれるGmail Newslettersでown死していますか? 登録解除リンクのフィルタリングは既知のソリューションですが、この記事はより複雑な問題に取り組んでいます。多数の既存のニュースレターサブスクリプションを効率的に管理しています。

課題購読されたニュースレターの膨大な量は圧倒的になる可能性があります。 それぞれから手動でレビューして登録解除するのは退屈です。 ここでの目標は、古い電子メールを削除することではなく、ターゲットを絞ったサブスクライティングのための現在のユニークなニュースレター送信者の合理化されたリストを作成することです。 Gmail自体には簡単なソリューションがありません

ソリューション:Google Apps Script Google Appsスクリプトが回答を提供しました。この強力なツールを使用すると、さまざまなGoogleサービスと対話するコードを作成し、繰り返しタスクを自動化できます。 さまざまなプラットフォームにわたって約100のニュースレターサブスクリプションがあるため、このスクリプトは、リストを必須サブスクリプションのみに削減することで非常に貴重であることが証明されました。 このソリューションを再現するためのステップバイステップガイドです:

Googleシートを作成する:

これにより、生成されたニュースレター送信者のリストが保存されます。

アクセスアプリスクリプト:

Googleシートでは、「拡張機能」&gtに移動します。 「Apps Script」
  1. スクリプトを書きます:以下のスクリプトは、Gmailからのニュースレター送信者の一意のメールアドレスをその名前とともに取得し、スプレッドシートにきちんと整理します。
  2. 保存して実行:
  3. スクリプトを保存し、説明的な名前を付けて、関数を実行します。 GmailとGoogleシートにアクセスするためのスクリプトを許可します。
  4. レビューと登録解除:
  5. スプレッドシートには、一意のメールアドレスが入力されます。 このリストを使用して、Gmail内の不要なニュースレターから登録解除します。
  6. スクリプトの内訳:
  7. スクリプトは、2つの主要な関数で構成されています:main
  8. この関数は

を呼び出します

この関数は、3つのパラメーターを取ります:

  • :gmail検索クエリ(一般的なニュースレターの場合はなど)。 main():スプレッドシート列に追加されるタイトル。_getUniqueMailingListSenders()
  • :既存のシートをクリアするかどうかを判断するためのブール値 _getUniqueMailingListSenders()
    • 関数:searchOption
      1. 検索条件に一致するすべての電子メールスレッドを取得します
      2. javascript
      3. を使用して、一意の送信者メールアドレスを収集します。 Set正規表現を使用して送信者名を抽出します
      4. 電子メールアドレスと名前を
      5. に保存します
      6. タイムスタンプを含む列をGoogleシートに動的に追加します。 Map一意の送信者データをスプレッドシートに書き込みます。
      7. デバッグのためにプロセスをアプリスクリプト実行ログにログに記録します。
      8. 完全なコード:

      結論

      <code class="language-javascript">function _getUniqueMailingListSenders(
        searchOption,
        title,
        clearSheet = true,
      ) {
        const threads = GmailApp.search(searchOption);
        const senders = new Set();
        threads.forEach(thread => {
          const messages = thread.getMessages();
          messages.forEach(message => {
            senders.add(message.getFrom());
          });
        });
      
        const emailData = new Map();
        senders.forEach((sender) => {
          const emailMatch = sender.match(/<([^>]+)>/);
          const email = emailMatch ? emailMatch[1] : sender;
          const name = sender.replace(emailMatch ? emailMatch[0] : '', '').trim();
          if (!emailData.has(email)) {
            emailData.set(email, name);
          }
        });
      
        const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
        if (clearSheet) {
          sheet.clear();
        }
        const lastColumn = sheet.getLastColumn();
        const emailColumn = lastColumn + 1;
        const nameColumn = lastColumn + 2;
        const currentDate = new Date().toLocaleDateString();
      
        sheet.getRange(1, emailColumn).setValue(`${title} - Email - ${currentDate}`);
        sheet.getRange(1, nameColumn).setValue(`${title} - Name - ${currentDate}`);
      
        let row = 2;
        emailData.forEach((name, email) => {
          console.log(`Adding data on column (${emailColumn}, ${nameColumn}) and row ${row}: `, {email, name});
          sheet.getRange(row, emailColumn).setValue(email);
          sheet.getRange(row, nameColumn).setValue(name);
          row++;
        });
      }
      
      function main() {
        _getUniqueMailingListSenders(
          'list:()',
          'Unique Email Senders',
          false,
        );
      }</code>
      ログイン後にコピー
      Google Appsスクリプトは、圧倒的な電子メールのサブスクリプションを管理するための強力なソリューションを提供します。このスクリプトはプロセスを簡素化し、不要なニュースレターからの効率的なレビューと登録解除を可能にします。 他の潜在的な自動化の機会については、アプリスクリプトを探索します

      私とつながります:

      ウェブサイト

      linkedIn

      github
      • x(Twitter)

以上がApps Script - Gmail に埋め込まれているすべてのニュースレターをリストします。選択的な購読解除が簡単になりましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート