ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
【GAS 9.】 メールの送信 基本形[Gmail]
GAS(Google Apps Script)からEmailを送ることができます。
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
- スプレッドシートの一覧からチェックした行のみ送信する方法がわかります。
- チェックボックスの条件書式設定など実用的な利用方法が方法がわかります。
なので、Google formで取得したリスト一覧から
ちょっと加工したデータを添付し、ピンポイントで
指定した人にメールを配信することができます。
逆に、知らないと
せっかく、Google Formでメールアドレスを取得しても、
取得するだけで、簡単にメールを返信することができません。
なので
てな感じで、今回の動画を参考に
Googleフォームで取得したメールアドレスに対して、
メールを配信する仕組みを追加してみてください。
メールアドレスの一覧からGmailを送信
こんな感じで動作します。
マインドットします。
マインドセット
取得したメアド一覧にチェックボックスを付加するだけでメールアドレスが生きてくる
取得したメアド一覧にチェックボックスを付加するだけでメールアドレスが生きてくる
Googleフォームで取得した一覧にチェックボックスを
追加することで、メール配信できるようになります。
とにかく、やってみましょう。
動画はこちら
スクリプト
function sendEmail() {
const CKSND = 8 //送信するフラグ
const SNDED = 9 //送信済みフラグ
let app = SpreadsheetApp;
let ss = app.getActiveSpreadsheet().getActiveSheet();
let lr = ss.getLastRow();
let subjectText = app.getActiveSpreadsheet().getSheetByName("メールのテンプレ").getRange(1, 2).getValue();
let tempText = app.getActiveSpreadsheet().getSheetByName("メールのテンプレ").getRange(2, 2).getValue();
// lr = 2
for (let i = 2; i <= lr; i++) {
if (ss.getRange(i, CKSND).getValue()) { //チェックボックスがON
// console.log(ckbox)
let currentEmail = ss.getRange(i, 3).getValue();
let currentName = ss.getRange(i, 2).getValue();
let currentPasscode = ss.getRange(i, 7).getValue();
let emailText = tempText.replace("{name}", currentName).replace("{name}", currentName).replace("{passcode}", currentPasscode);
console.log(emailText)
// Logger.log(subjectText);
MailApp.sendEmail(currentEmail, subjectText, emailText,
{
from:'futoshita.hiroshi@gmail.com',
name:'GASで変更したひろし君'
});
ss.getRange(i, SNDED).setValue(true)
ss.getRange(i, CKSND).setValue(false)
}
}
// Logger.log(currentEmail);
}
メール配信用テンプレシート
では、今回のGoogleシートマスターへの究極の方法です。
Step1.
既存のフォームで取得したシートを開く
Step2.
チェックボックスを追加するStep3.
スクリプトを追加する
既存のフォームで取得したシートを開く
Step2.
チェックボックスを追加するStep3.
スクリプトを追加する
では、早速、Googleフォームの一覧開いてください
今すぐです。
最後までご覧いただきありがとうございます。
つぎはこちら
【GAS】Gmailメールの送信元を別のメアドに変更する方法 バッファに取得しループ
コメント
GAS初心者です。
いつも参考にさせていただいています。
2点質問させてください。
一点目:(メールアドレスの一覧からGmailを送信する方法)の手順でメールを送信した場合、受信者は送信元が「maestro.bounces.google.com」となります。
この表示は変えられないのでしょうか。またはなくすことは出来ますか?
二点目:一点目と同じ手順でBcc設定することは可能でしょうか?
(ccを複数設定する動画)を拝見させていただきました。どうにかこちらのスクリプトに入れてみようと思ったのですが、初心者ゆえまったくできませんでした。
いい方法があれば教えていただけると助かります。
サンプルの↓をどのように変更したのでしょうか?
以下のままやれば、ゴールに近づくと思います。
{
from:’futoshita.hiroshi@gmail.com’,
name:’GASで変更したひろし君’
});
さらにbccを追記すればOKですよ。
{
from:’futoshita.hiroshi@gmail.com’,
name:’GASで変更したひろし君’,
bcc:’xxxx@sss.com’
});
確認していただきありがとうございます。
> サンプルの↓をどのように変更したのでしょうか?
サンプルをそのままコピーさせていただきました。
gmailアカウントは個人のものではなくが会社のドメインなので(署名元は会社のドメインでした)
何かが引っかかって送信元が「maestro.bounces.google.com」となるのかも?と思い始めました。
送信元がこのままだと迷惑フォルダに振り分けられるかもしれないので、今回は諦めますが
他の方法も参考にしつついろいろ活用させていただきます。
本当にありがとうございました。
そもそもfromを設定しなくても「maestro.bounces.google.com」と表示されるのでしょうか?であれば、回避しようがないですが。