メール電車の中で唯一、最新のメッセージを表示するには、前のメッセージを含む単一の電子メールの =全体の内容Google Appsのスクリプト/正規表現は、電子メール、「電車」
メールスレッド Google Appsのスクリプトを=メッセージの配列
質問:Google Apps Scriptでは、メールトレイン内の最新のメールのみをインポートするにはどうすればよいですか?
GmailAppクラスに基づいた簡単なGoogle Appsスクリプトがあります。結局、これはスプレッドシートに(検索クエリを使用して)して、指定されたアドレスからのすべての電子メールをインポートします:
var threads = GmailApp.search('from: [email protected] OR to: [email protected]');
Logger.log("Thread count: " + threads.length);
for (var i = 0; i < threads.length; i++) {
Logger.log("Subject:" + threads[i].getFirstMessageSubject());
Logger.log("ID:" + threads[i].getId());
var messages = threads[i].getMessages();
for (var j = 0; j < messages.length; j++) {
Logger.log(messages[j].getPlainBody());
}
}
一般的には、電子メールでの問題は、誰かが電子メールに返信するとき、それは元のテキストが含まれていることです。 5つまたは6つの返信の後、個々のメッセージは非常に長くなり、上記のようにGmailのスレッド内のすべてのメッセージをインポートすると、重複のトンがあります。
gmail.comウェブインターフェースは、省略記号ボタンを使用してこの問題を回避して:私はこの黒魔術を複製するにはどうすればよい
?
私は任意の解決策が完全ではないことを理解します。
私の最初の考えは、ある種の正規表現を使用することですが、どこから始めるべきかはわかりません。
ありがとう、これは素晴らしいスタートです。私は受信箱を通して作業し、送信者の電子メールクライアントによって展示されているさまざまな文字列形式をすべて列挙し、できるだけ多くの異なる文字列をキャプチャ&ストリップアウトするための大きな、醜い正規表現を組み込むことを望みます。 – hazymat