質問をすることでしか得られない、回答やアドバイスがある。

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

ただいまの
回答率

90.36%

  • JavaScript

    18713questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

GAS 自動返信メールのccが入らない

解決済

回答 1

投稿

  • 評価
  • クリップ 1
  • VIEW 107

tasuketehosi

score 1

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ページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

これでCCにもメール送れましたよ

function myFunction() {
    MailApp.sendEmail({
    to: "aaaaaaaaaaaaa@gmail.com",
    cc: "bbbbbbbbbbbbb@gmail.com",
    subject: "件名",
    body: "メール本文"
  });
}


参考sendEmail(Object)

追記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);

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/02/11 20:05

    ご回答頂きまして、誠にありがとうございます。
    説明が不足してておりまして、すみません。
    フォーム項目「HEDER_08」に入力されたメールアドレスをccに入れたいです。
    スプレッドシートだと「J列」に入る値の代入が上手くいっていないのかなぁ。。。。と思っておりまして。。
    そのあたり、お分かりになれば教えて頂きたく。

    キャンセル

  • 2019/02/11 21:31

    回答欄に追記しました

    キャンセル

  • 2019/02/11 22:04

    ありがとうございます!ccが入りました!
    自分のアドレスがccに。。。。。他人のメールアドレスが入るはずなのです。。。。
    1つ解決して、また一つ。。。。
    もう少しだけ教えて頂きけますでしょうか。↓の部分、「J列」=「HEDER_08」と思って、代入を試みているのですが、間違っておりますでしょうか。
    //ccのセルに入力値があったならば
    case HEDER_08:
    cc=col_value;

    キャンセル

  • 2019/02/11 22:20

    switch文の下でログを仕込んでフォーム送信したらどんなログが表示されますか?
    ログはスクリプトエディターの画面上部の「表示」→「Stackdriver logging」から見れます。

    switch(col_name){
    console.log(col_name)
    case MAIL_COL_NAME:

    キャンセル

  • 2019/02/11 22:36

    回答頂きましてまこおtいありがとうございます。大変申し訳ないのですが、私のスキルが足りず。。。
    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

    寝落ちしておりました。出しっぱにしてしまって、すみませんm(_ _)m
    エラー出てたので//入れて保存しておりました。
    80行目のcase HEDER_08:
    「構文エラー。(行 80、ファイル「コード」)」がでています。

    キャンセル

  • 2019/02/12 10:26

    cc入れるのできました!!いろいろ探しながら、なんとか動きました!
    ↓を追加しました。
    var col_myvalue = rg.getCell(rows,10).getValue();
    cc=myvalue

    本当にいろいろ、ありがとうございました!
    大変助かりました!!!!感謝感謝でっす!

    キャンセル

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

  • ただいまの回答率 90.36%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • JavaScript

    18713questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。