質問するログイン新規登録
Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

1回答

983閲覧

GAS-日本語で受信したGmailを英語に翻訳して転送する時にエラーで処理が止まらないようにしたい(原因は長いタイトル?)

atomon

総合スコア13

Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2019/06/07 08:14

編集2019/06/14 02:01

0

0

前提・実現したいこと

GASを使用してGmailの日本語を英語に変換して転送

発生している問題・エラーメッセージ

タイトルが長いとエラーになります。 エラーメッセージ 引数が大きすぎます:-subject-行-〇〇

該当のソースコード

GmailApp.sendEmail(fw_addr, subject_en, body_en);

試したこと

文字数が少なくてもエラーになることもありました。
現在はまとめて、手動で対応(実行→エラー→削除→実行の繰り返し)しています。

●現在計測中で100文字以上はエラーになりそうです。
●100文字以上でエラーにならなかったものは判断ができません。

補足情報(FW/ツールのバージョンなど)

ここのサイトを参考にしております。
http://paqalex.blog133.fc2.com/blog-entry-29.html

よろしくお願いいたします。

追記 質問タイトル変更しました

新:「GAS-日本語で受信したGmailを英語に翻訳して転送する時にエラーで処理が止まらないようにしたい(原因は長いタイトル?)」
旧:GASを使用してGmailの日本語を英語に変換して転送:タイトルが長いとエラーになります

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

なにを解決してほしいのか知らないですが
リファレンスには

subject of the email (250 characters maximum)

最大250文字となってますね。
なので

GAS

1GmailApp.sendEmail(fw_addr, subject_en.substring(0, 250), body_en);

こうしておけばいいんじゃないですか?

投稿2019/06/07 08:20

macaron_xxx

総合スコア3191

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

macaron_xxx

2019/06/07 08:22 編集

英字だったら250文字いけるってことですね。
atomon

2019/06/07 08:30

ありがとうございます。早速実装させていただきました。入門レベルで調べ方探し方がわからない状態でした。1週間検証させてください。
atomon

2019/06/13 04:05

macaron_xxxさん 問題なく動作しております。ありがとうございました。
papinianus

2019/06/13 10:16

検証した手法および結果は、この質問を参考にしようとする他のすべての人に有益なのですが共有していただけないのでしょうか?
atomon

2019/06/14 02:05

papinianusさん そうですね、私と同じようなかた向けに必要ですね。 質問のタイトルが変えられるので、変更しました。 ■解決したかったこと エラーで処理が止まらないようにしたかった。 ※macaron_xxxさん私の意図を汲み取っていただきありがとうございます。 ■検証結果 1日に数件エラー対象のメールがあったので .substring(0, 250)を追加して英語のタイトルを制御。 4日間エラーがなかったので解決。 ■文字数を制御できる(ここでは転送するときにタイトルの文字数の制御) .substring(0, 250) これで文字数の制御ができます。 今回は転送のタイトルに設定しているので、英字で先頭から250文字までをタイトルにしています。 日本語のタイトルで短くてもエラーになったのは、翻訳して250文字以上になっていたと思われる。 ■自力で解決できなかった理由 substringを知らなかった 日本語が問題だと思った ■その他 substringを調べてみたら他にも応用できそうな記事がありました。 【JavaScript】 文字列切り出し(slice, substr, substring)の違い(2013-05-13) http://catprogram.hatenablog.com/entry/2013/05/13/231457 ■メール送信で調べたサイト GASでのメール送信についてまとめてみる(2016年11月07日) https://qiita.com/mistolteen/items/404c10657b1b27007a3c
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問