8

MailApp.sendEmail を使用して、スプレッドシートのデータを組み込んだ電子メールを送信するスクリプトが Google Docs スプレッドシートにいくつかあります。彼らは皆、何年も素晴らしい仕事をしてきました。約 2 週間前に、彼らは電子メールの送信を停止しました。スクリプトは引き続き実行され、エラーは発生しません。電子メールはまったく届きません。メールが届かない以外は何も変わっていません。

何かご意見は?

ありがとう!

4

4 に答える 4

13

この問題を抱えている他の人に役立つかもしれない、私自身の質問に対する答えがあると思います。実際、MailApp.sendEmail はまだ機能しているようです。変更されたのは、Gmail が特定の種類のメッセージを処理する方法です。

MailApp.sendEmail を使用して第三者に電子メールを送信すると、問題なく送信されます。Fashtas が指摘したように、MailApp.sendEmail を使用してスプレッドシートが属する Gmail アカウントに電子メールを送信しても問題ありません。

ここに問題があります: MailApp.sendEmail を使用して、スプレッドシートが属する Gmail アカウントに自動的に BACK を転送するサードパーティのアカウントにメッセージを送信すると、それらのメッセージが届かなくなります。

したがって、上記に投稿したサンプル コードでは、matt@.com の電子メール アドレスは、Gmail アカウントに自動的に転送されます。MailApp.sendEmail によって送信されたメッセージは、.com メール サーバーに転送されますが、何らかの理由で Gmail の受信トレイに転送されません。それらは Gmail の送信済みアイテム フォルダに表示されますが (おそらくスプレッドシートが属する Gmail アカウントから送信されたため)、受信トレイには届きません。

その動作は新しいです。以前は、これらのメッセージが* .com サーバーから Gmail の受信トレイに転送されることに問題はありませんでした。何が問題を引き起こしたのかわかりません。そして、私はそれを修正する方法がわかりません。

しかし、したがって、私の質問に対する答えは、MailApp.sendEmail が設計どおりに機能しているということだと思います。

于 2013-07-10T20:50:42.450 に答える
2

doebtown で説明されてMailApp.sendEmail()いるように、あなたのアカウントに転送されるアドレスへのメッセージの送信を拒否します。たとえば、あなた (スプレッドシートの所有者) が組織内のグループpeople@myorg.comに属している場合、メッセージはpeople@myorg.commailApp.sendEmail()に配信されません。つまり、次のコードは送信されません。

var email = 'people@myorg.com';

var subject = 'The Week Ahead';

var body = 'Hi there!';

var htmlbody = "<p>Hi there!</p>";

// this will not send
MailApp.sendEmail(email, subject, body,{
  htmlBody : htmlbody
});

ただし、アドレスにメールを追加することで、この問題を回避できます。

var email = 'myaddress@myorg.com, people@myorg.com';

var subject = 'The Week Ahead';

var body = 'Hi there!';

var htmlbody = "<p>Hi there!</p>";

// this will send to your address and the full list
MailApp.sendEmail(email, subject, body,{
  htmlBody : htmlbody
});

このメールは、あなたのアドレスと、あなたが所属するリストに送信されます。これは完全な解決策ではありませんが、スクリプトを管理するための特定のアカウントを作成したくない場合は実行可能です。

于 2016-05-06T05:42:53.520 に答える