GAS 自動返信メールのccが入らない
解決済
回答 1
投稿
- 評価
- クリップ 1
- VIEW 2,688
Gフォームで送られてきた内容が
スプレッドシートのj列に入ってくる、メールアドレスをccに入れて送信してほしい。
toは反映されて送信されてくるのですが、ccがはいりません。
var HEDER_08 ="8.関係者メールアドレス"がccに入れたいメアドです。
発生している問題・エラーメッセージ
InternalError: メソッド sendEmail(string,string,string,string,object) が見つ
かりません。
コード
function myFunction() {
var body
var subject = "こんにちわ";
var TIMESTAMP_LABEL = 'タイムスタンプ';
var MAIL_COL_NAME = 'メールアドレス';
var HEDER_01 ="1.内容";
var HEDER_02 ="2.内容";
var HEDER_03 ="3.内容";
var HEDER_04 ="4.内容";
var HEDER_05 ="5.内容";
var HEDER_06 ="6.内容";
var HEDER_07 ="7.内容";
var HEDER_08 ="8.関係者メールアドレス";
var KEY_01 ="1.内容";
var KEY_02 ="2.内容";
var KEY_03 ="3.内容";
var KEY_04 ="4.内容";
var KEY_05 ="5.内容";
var KEY_06 ="6.内容";
var KEY_07 ="7.内容";
var KEY_08 ="8.関係者メールアドレス";
var admin = "管理者メアド"; // 管理者(必須)
var from = "管理者メアド";
var to = "";
var cc = "";
var bcc = admin; // Bcc:
var reply = admin; // Reply-To:
try{
var sh = SpreadsheetApp.getActiveSheet();
var rows = sh.getLastRow();
var cols = sh.getLastColumn();
var rg = sh.getDataRange();
Logger.log("rows="+rows+" cols="+cols);
//メール件名・本文作成と送信先メールアドレス取得
for (var k = 1; k <= cols; k++ ) {
var col_name = rg.getCell(1, k).getValue(); // カラム名
var col_value = rg.getCell(rows, k).getValue(); // 入力値
if( col_value != "" ) {
switch(col_name){
case MAIL_COL_NAME:
to = col_value;
break;
case HEDER_08:
cc = col_value;
break;
case TIMESTAMP_LABEL:
col_name = '申込日時';
col_value = Utilities.formatDate(col_value, 'Asia/Tokyo' , 'yyyy/MM/dd HH:mm:ss');
break;
case KEY_01:
body += HEDER_01 + "\n\n";
break;
case KEY_02:
body += HEDER_02 + "\n\n";
break;
case KEY_03:
body += HEDER_03 + "\n\n";
break;
case KEY_04:
body += HEDER_04 + "\n\n";
break;
case KEY_05:
body += HEDER_05 + "\n\n";
break;
case KEY_06:
body += HEDER_06 + "\n\n";
break;
case KEY_07:
body += HEDER_07 + "\n\n";
break;
case KEY_08:
body += HEDER_08 + "\n\n";
break;
}
body += "【"+col_name+"】\n";
body += col_value + "\n\n";
}
// 送信先オプション
var options = {};
if ( bcc ) options.bcc = bcc;
if ( reply ) options.replyTo = reply;
}
// メール送信
if ( to ) {
MailApp.sendEmail(to, cc , subject, body, options);
}else
MailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body);
}catch(body)
{
MailApp.sendEmail(admin,"【失敗】Googleフォームからメール送信中にエラーが発生",body);
}}
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
0
これでCCにもメール送れましたよ
function myFunction() {
MailApp.sendEmail({
to: "aaaaaaaaaaaaa@gmail.com",
cc: "bbbbbbbbbbbbb@gmail.com",
subject: "件名",
body: "メール本文"
});
}
追記02/11 21:00
// 送信先オプション
var options = {};
if ( bcc ) options.bcc = bcc;
if ( reply ) options.replyTo = reply;
}
// メール送信
if ( to ) {
MailApp.sendEmail(to, cc , subject, body, options);
}else
MailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body);
↑この部分を次のように書き換えれば上手くいくと思ったのですがどうでしょうか?
// メール送信
if ( to ) {
MailApp.sendEmail({
to: to,
cc: cc,
bcc: bcc,
replyTo: reply,
subject: subject,
body: body
});
}else
MailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body);
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.36%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2019/02/11 20:05
説明が不足してておりまして、すみません。
フォーム項目「HEDER_08」に入力されたメールアドレスをccに入れたいです。
スプレッドシートだと「J列」に入る値の代入が上手くいっていないのかなぁ。。。。と思っておりまして。。
そのあたり、お分かりになれば教えて頂きたく。
2019/02/11 21:31
2019/02/11 22:04
自分のアドレスがccに。。。。。他人のメールアドレスが入るはずなのです。。。。
1つ解決して、また一つ。。。。
もう少しだけ教えて頂きけますでしょうか。↓の部分、「J列」=「HEDER_08」と思って、代入を試みているのですが、間違っておりますでしょうか。
//ccのセルに入力値があったならば
case HEDER_08:
cc=col_value;
2019/02/11 22:20
ログはスクリプトエディターの画面上部の「表示」→「Stackdriver logging」から見れます。
switch(col_name){
console.log(col_name)
case MAIL_COL_NAME:
2019/02/11 22:36
switch ステートメントが無効です。
console.log(col_name)の部分で表示されてしまいました。
ほんと、すみません。
2019/02/11 22:51
switch文の上にログを仕込んでみてください。
console.log(col_name + ":" + col_value)
switch(col_name){
case MAIL_COL_NAME:
2019/02/11 23:09
「Stackdriver logging」、クレジットカード登録必要なようで。。。「Stackdriver logging」はクレジット持ってないので、あきらめようと思います。
関係ない情報かもしれませんが、カタカナの「ログ」の方ではrows=49 cols=10が表示されておりました。
2019/02/11 23:19
2019/02/11 23:25
読み込めませんでした
追跡番号: 2069606097724742982
という画面が出てきて、いろいろ触っていると、
自動引き落としにはならないけど、登録必須という画面がでまして。
ネットで調べると、お支払い情報入れる。。。。という案内があったので、あきらめてしまいました。
2019/02/11 23:39
スプレッドシートは公開できますか?個人情報が載ってない、テストバージョンでいいので。
2019/02/11 23:56
case HEDER_08:がダメだと言っております。。トリガー設定できませんでした。
https://docs.google.com/spreadsheets/d/1bzn-KyUJmuLcZt0HX2h6Q9a5lTIw7uk41RVEE1fhFLQ/edit#gid=485137802
2019/02/12 00:16
2019/02/12 07:28
エラー出てたので//入れて保存しておりました。
80行目のcase HEDER_08:
「構文エラー。(行 80、ファイル「コード」)」がでています。
2019/02/12 10:26
↓を追加しました。
var col_myvalue = rg.getCell(rows,10).getValue();
cc=myvalue
本当にいろいろ、ありがとうございました!
大変助かりました!!!!感謝感謝でっす!