あふれるGmail Newslettersでown死していますか? 登録解除リンクのフィルタリングは既知のソリューションですが、この記事はより複雑な問題に取り組んでいます。多数の既存のニュースレターサブスクリプションを効率的に管理しています。
課題購読されたニュースレターの膨大な量は圧倒的になる可能性があります。 それぞれから手動でレビューして登録解除するのは退屈です。 ここでの目標は、古い電子メールを削除することではなく、ターゲットを絞ったサブスクライティングのための現在のユニークなニュースレター送信者の合理化されたリストを作成することです。 Gmail自体には簡単なソリューションがありません
ソリューション:Google Apps Script Google Appsスクリプトが回答を提供しました。この強力なツールを使用すると、さまざまなGoogleサービスと対話するコードを作成し、繰り返しタスクを自動化できます。 さまざまなプラットフォームにわたって約100のニュースレターサブスクリプションがあるため、このスクリプトは、リストを必須サブスクリプションのみに削減することで非常に貴重であることが証明されました。 このソリューションを再現するためのステップバイステップガイドです:Googleシートを作成する:
これにより、生成されたニュースレター送信者のリストが保存されます。
アクセスアプリスクリプト:
Googleシートでは、「拡張機能」&gtに移動します。 「Apps Script」main
を呼び出します
:この関数は、3つのパラメーターを取ります:
main()
:スプレッドシート列に追加されるタイトル。_getUniqueMailingListSenders()
_getUniqueMailingListSenders()
searchOption
Set
正規表現を使用して送信者名を抽出します
Map
一意の送信者データをスプレッドシートに書き込みます。結論
<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>
私とつながります:
ウェブサイトgithub
以上がApps Script - Gmail に埋め込まれているすべてのニュースレターをリストします。選択的な購読解除が簡単になりましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。