共有メールボックスを処理し、さまざまな電子メールに転送するスクリプトを持っています (元の「To:」ヘッダーなどに基づいて、さまざまな人に送信します。より柔軟な (そして今までは信頼できる) 代替として何ヶ月もうまく機能しています) Gmail フィルター用。
ロジックは基本的に
- 受信トレイ内の未処理の各メッセージを読む
- この Gmail 受信トレイのエイリアスである「To:」(例: support@domain.com) の送信者を調べます。
- 意図された受信者のリストを取得します (私たちの組織内で)
- それらのそれぞれについて、メッセージを転送します
- そのメッセージを処理済みとしてマークし、次回再転送されないようにする
最近、メッセージが転送された時点で奇妙なエラーが発生するように見える電子メールを受け取りました。エラーは次のとおりです。
MIME タイプが無効です。(123行目、ファイル「コード」)。
スクリプトの 123 行目は次のとおりです。
// subject: removes the 'Fwd:' prefix which we don't need, and adds the original target email in square brackets, and sets the replyTo for easy processing
really && msg.forward(rcvr, {subject: msg.getSubject() + " [" + thisTo + "]", replyTo: msg.getFrom()});
興味深い部分の要約は次のとおりです。
really
単なるブール値であるため、テスト用の「ドライラン」を実行できますmsg
処理中の現在のメッセージに設定され、次のタイプですGmailMessage
rcvr
受信者の電子メールアドレスを含む文字列ですthisTo
元の「To:」ヘッダーを保持する文字列です
問題のメッセージは、プレーン テキストと HTML を含むマルチパート MIME メールです。Gmail では問題なく表示され、そこから問題なく転送できます。では、スクリプト エンジンが何について不平を言っているのか、誰か明らかにしてくれませんか? 生の電子メールは次のようになります (プライバシーのためにいくつかのビットが削除されています)。
Delivered-To: XXXX@YYYY.com
Received: by 10.182.155.73 with SMTP id vj5sqase239pbc;
Wed, 26 Jun 2013 08:50:48 -0700 (PDT)
X-Received: by 10.68.166.5 with SMTP id zc5m425et238pbb.16.1372261847795;
Wed, 26 Jun 2013 08:50:47 -0700 (PDT)
Return-Path: <support@ZZZZ.com>
Received: from mail.ZZZZ.com (mail.ZZZZ.com. [64.78.193.232])
by mx.google.com with ESMTP id vj5sqwefwe239pbc.316.2013.06.26.08.50.47
for <multiple recipients>;
Wed, 26 Jun 2013 08:50:47 -0700 (PDT)
Received-SPF: pass (google.com: domain of support@ZZZZ.com designates aa.bb.cc.dd as permitted sender) client-ip=aa.bb.cc.dd;
Authentication-Results: mx.google.com;
spf=pass (google.com: domain of support@ZZZZ.com designates aa.bb.cc.dd as permitted sender) smtp.mail=support@ZZZZ.com
Date: Wed, 26 Jun 2013 09:50:46 -0600
To: AAAA@YYYY.com, XXXX@YYYY.com
From: ZZZZ <support@ZZZZ.com>
Reply-to: ZZZZ <support@ZZZZ.com>
Subject: ZZZZ (Order #00412744)
Message-ID: <805b426783f23fec38ddafb002ce40b@admin.ZZZZ.com>
X-Priority: 3
X-Mailer: PHPMailer 5.1 (phpmailer.sourceforge.net)
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="b1_805b426783ff4601fbe72afb002ce40b"
--b1_805b426783ff4601fbe72afb002ce40b
Content-Type: text/plain; charset = "utf-8"
Content-Transfer-Encoding: 7bit
Hello Andy,
[SNIP]
and destroy all copies of the original message. Thank You
--b1_805b426783ff4601fbe72afb002ce40b
Content-Type: text/html; charset = "utf-8"
Content-Transfer-Encoding: 7bit
<html>
<head>
</head>
[SNIP]
and destroy all copies of the original message. Thank You</span></font></p></td></tr></tbody></table></body>
</html>
--b1_805b426783ff4601fbe72afb002ce40b--