【GAS】Gmailメールの送信元を別のメアドに変更する方法 バッファに取得しループ

GAS

GASで制御する Gmail

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

前回

【GAS】メールアドレスの一覧からGmailを送信する方法
  • スプレッドシートの一覧からチェックした行のみ送信する方法がわかります。
  • チェックボックスの条件書式設定など実用的な利用方法が方法がわかります。
  • 今回は、とっても価値の高い方法をお伝えします。

    これを知ることであなたは、

    • メールの送信元を別のメールアドレスに変更できます。
    • Gmailに限らずYahoo!メール や Outlook などの Gmail 以外のアドレスも可能です。
    • 転送する際も簡単に送信元を変更できます。

    例えば。。。

     

    てな感じで使えます^^

     

     

    変更方法

    Step0.

    Gmailを開く

    Step1.

    ①画面右上の[歯車]をクリックする
    ②[すべての設定を表示]をクリックする

    Step2.

    ①[アカウントとインポート]をクリックする
    ②[他のメールアドレスを追加]をクリックする

    Step3.

    ①[名前]を入力する
    ②[メールアドレス]を入力する
    ③[次のステップ]をクリックする

     

    ※メアドがXserverの場合

    ②のSMTPサーバ名をコピペする

     

     

     

    Step4.

    届いたメールのリンクをクリックする

     

     

     

     

     

     

     

    Gmailメールの送信元を別のメールアドレスに一瞬で変更する方法

    さらにGASで

    • メールの送信元を別のメールアドレスに変更できます。
    • GAS上でできるので、いろいろ使えます。

     

     

    【GAS 26 】送信元を別のメールアドレスに変更してメールを送る方法

    変更箇所

    ポイントは、MailAppからGmailAppに変更となる点です。

    
    
    //メールを送信する
          // MailApp.sendEmail(kaiinbuf[i][MAILADDR], "メール送信依頼 " + kaiinbuf[i][NAME] + "さま", kaiinbuf[i][NAME] + "さん こんにちは");
          GmailApp.sendEmail(
            kaiinbuf[i][MAILADDR],
             "メール送信依頼 " + kaiinbuf[i][NAME] + "さま", 
             kaiinbuf[i][NAME] + "さん こんにちは",
             {
               from:'verybest2012+1@gmail.com',
               name:'GASで変更したひろし君'
             }
             
             );
    

    スクリプト全体

     

    
    function myFunction() {
    let ss = SpreadsheetApp.getActiveSheet()
    const lastrow = ss.getLastRow() //最下行
    const UMU = 0 //有無のカラム位置
    const NAME = 3 //名前のカラム位置
    const MAILADDR = 10 //メアドのカラム位置
    
    
    let kaiinbuf = ss.getRange(2, 1, lastrow, 11).getValues()
    for (let i = 0; i < lastrow - 1; i++) {
    if (kaiinbuf[i][UMU] === false) {
    
    console.log(kaiinbuf[i][NAME])
    console.log(kaiinbuf[i][MAILADDR])
    
    //メールを送信する
    // MailApp.sendEmail(kaiinbuf[i][MAILADDR], "メール送信依頼 " + kaiinbuf[i][NAME] + "さま", kaiinbuf[i][NAME] + "さん こんにちは");
    GmailApp.sendEmail(
    kaiinbuf[i][MAILADDR],
    "メール送信依頼 " + kaiinbuf[i][NAME] + "さま",
    kaiinbuf[i][NAME] + "さん こんにちは",
    {
    from:'verybest2012+1@gmail.com',
    name:'GASで変更したひろし君'
    }
    
    );
    
    
    }
    }
    }

     

     

     

     

     

    GoogleFromに埋め込む場合

     

    //★スプレッドシートのIDz*URLのユニークな長い部分
    const FORMAT__SHEET_ID = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
    
    //以下名称が一致しているか確認
    //シートの名称
    const FORMAT_SHEET_NAME = "返信メールフォーマット";
    
    //フォーム内の名称
    const ITEM_MAILADDRESS = "メールアドレス";
    const ITEM_NAME_TITLE = "お名前(ニックネーム可)";
    
    
    //フォーム登録者にメールを送信する
    function submitForm(e) {
      let itemResponses = e.response.getItemResponses();
      let message = '';
      let username = '';
      let mail = '';
    
      for (let i = 0; i < itemResponses.length; i++) {
        let itemResponse = itemResponses[i];
        let question = itemResponse.getItem().getTitle();
        let answer = itemResponse.getResponse();
        if (question == ITEM_MAILADDRESS) {
          mail = answer;
        }
        if (question == ITEM_NAME_TITLE) {
          username = answer;
        }
        message += (i + 1).toString() + '. ' + question + ': ' + answer + '\n';
      }
    
      //返信メール用のシートを取得する  
      const ss = SpreadsheetApp.openById(FORMAT__SHEET_ID);
      const sheet = ss.getSheetByName(FORMAT_SHEET_NAME);
    
      let subject = sheet.getRange("B1").getValue();//件名の取得
      let contents = sheet.getRange("B2").getValue(); //本文の取得
    
      subject = subject.replace("%name%", username);//%name%を置換する
      contents = contents.replace("%name%", username);//%name%を置換する
    
      GmailApp.sendEmail(mail, subject, contents,
        {
          from: 'xxxxxxxxxxxxxxx@gmail.com',
          name: 'GASで変更したメアド'
        }
        //ここまで
      );//登録者にメールを送信する
    
    
    
    
    
    
    
      let address = sheet.getRange("B4").getValue();//送信先の取得
    
      if (address != "") {
        subject = sheet.getRange("B5").getValue();//件名の取得
        contents = sheet.getRange("B6").getValue(); //本文の取得
        contents += '\n\n' + message;
        GmailApp.sendEmail(address, subject, contents);
      }
    }
    

     

     

    最後までご覧いただきありがとうございます。

     

    つぎはこちら

    【GAS】CCを複数指定してメールを送信する方法(表示名の変更、BCCの指定等のオプション)
    GASでメール送信時にCCを指定する方法がわかります。 さらにCCを複数指定する方法がわかります。

    さらに、修正→「【GAS30】指定した文字列をすべて置換する方法 replace」

    GASで制御する Gmail

    コメント

    タイトルとURLをコピーしました