Tutorial: Mengirim email dari Spreadsheet Menggunakan Google Script

Tujuan

Tutorial ini menunjukkan cara menggunakan data Spreadsheet untuk mengirim email ke orang yang berbeda.

Waktunya menyelesaikan

Sekitar 10 menit

Prasyarat

Sebelum Anda memulai tutorial ini, Anda harus:

  • Merasa nyaman menggunakan Editor Skrip dan memiliki pengalaman menggunakan fungsi Spreadsheet paling dasar.

Bagian 1: Menjalankan contoh sederhana

  1. Buat Spreadsheet kosong baru
  2. Tambahkan beberapa baris data. Setiap baris harus berisi alamat email di kolom A dan pesan email yang akan dikirim ke orang itu di kolom B. Untuk tujuan pengujian, Anda mungkin ingin menggunakan alamat email Anda sendiri di kolom A. Berikut ini contohnya:Mengirim Email
  3. Buka Script Editor dengan mengklik menu ‘Tools’, lalu pilih ‘Script editor …’.
  4. Salin dan tempel skrip berikut:
/**
 * Sends emails with data from the current spreadsheet.
 */
function sendEmails() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2; // First row of data to process
  var numRows = 2; // Number of rows to process
  // Fetch the range of cells A2:B3
  var dataRange = sheet.getRange(startRow, 1, numRows, 2);
  // Fetch values for each row in the Range.
  var data = dataRange.getValues();
  for (var i in data) {
    var row = data[i];
    var emailAddress = row[0]; // First column
    var message = row[1]; // Second column
    var subject = 'Sending emails from a Spreadsheet';
    MailApp.sendEmail(emailAddress, subject, message);
  }
}
  1. Simpan Script
  2. Pilih fungsi sendEmails di kotak kombo fungsi dan klik “Run”
  3. Lihat Kotak Masuk email Anda. Pesan biasanya segera dikirim, tetapi kadang-kadang butuh beberapa detik.

Anda mungkin ingin melihat dokumentasi untuk metode berikut yang digunakan dalam skrip di atas:

  • Sheet.getRange() (perhatikan bahwa ada empat versi dari metode ini)
  • Range.getValues()
  • MailApp.sendEmail() (perhatikan bahwa ada empat versi dari metode ini)
  • Bagian 2: Perbaikan

    Anda mungkin ingin menandai sel di setiap baris setiap kali email dikirim. Dengan cara ini, jika skrip Anda berhenti berjalan (misalnya, jika ada bug dalam kode Anda atau Anda mencapai jumlah maksimum email yang dapat Anda kirim setiap menit atau hari) Anda akan dapat menjalankan kembali skrip nanti dan menghindari mengirim duplikat email.

    Berikut ini adalah ekstensi sederhana dari kode yang menetapkan sel dalam kolom C ke ‘EMAIL_SENT’ untuk setiap baris setelah sendEmail dipanggil.gmail / sendEmails / sendEmails.gsLihat di GitHub

    // Konstanta ini ditulis dalam kolom C untuk baris yang merupakan email
    // telah berhasil dikirim.
    var EMAIL_SENT = 'EMAIL_SENT';
    
    / **
     * Mengirim email non-duplikat dengan data dari spreadsheet saat ini.
     * /
    fungsi sendEmails2 () {
      var sheet = SpreadsheetApp.getActiveSheet ();
      var startRow = 2; // Baris pertama data untuk diproses
      var numRows = 2; // Jumlah baris untuk diproses
      // Ambil rentang sel A2: B3
      var dataRange = sheet.getRange (startRow, 1, numRows, 3);
      // Ambil nilai untuk setiap baris dalam Rentang.
      var data = dataRange.getValues ​​();
      untuk (var i = 0; i <data.length; ++ i) {
        var row = data [i];
        var emailAddress = baris [0]; // Kolom pertama
        var message = row [1]; // Kolom kedua
        var emailSent = baris [2]; // Kolom ketiga
        if (emailSent! == EMAIL_SENT) {// Mencegah pengiriman duplikat
          var subject = 'Mengirim email dari Spreadsheet';
          MailApp.sendEmail (alamat surel, subjek, pesan);
          sheet.getRange (startRow + i, 3) .setValue (EMAIL_SENT);
          // Pastikan sel diperbarui segera jika skrip terputus
          SpreadsheetApp.flush ();
        }
      }
    }
    Video Tutorial Mengirim email dari Spreadsheet

    Sumber: https://developers.google.com/apps-script/articles/sending_emails#top_of_page

    Leave a Reply

    Your email address will not be published. Required fields are marked *