Class MailApp

MailApp

ส่งอีเมล

บริการนี้ช่วยให้ผู้ใช้ส่งอีเมลด้วยการควบคุมเนื้อหาของอีเมลได้อย่างสมบูรณ์ MailApp คือการส่งอีเมลเพียงอย่างเดียว ซึ่งต่างจาก GmailApp MailApp ไม่สามารถเข้าถึงกล่องจดหมาย Gmail ของผู้ใช้

การเปลี่ยนแปลงสคริปต์ที่เขียนโดยใช้ GmailApp มีแนวโน้มที่จะทริกเกอร์คำขอการให้สิทธิ์อีกครั้งจากผู้ใช้มากกว่าสคริปต์ MailApp

วิธีการ

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
getRemainingDailyQuota()Integerแสดงจำนวนผู้รับที่คุณสามารถส่งอีเมลถึงได้ในช่วงเวลาที่เหลือของวัน
sendEmail(message)voidส่งข้อความอีเมล
sendEmail(recipient, subject, body)voidส่งข้อความอีเมล
sendEmail(recipient, subject, body, options)voidส่งข้อความอีเมลพร้อมอาร์กิวเมนต์ที่ไม่บังคับ
sendEmail(to, replyTo, subject, body)voidส่งข้อความอีเมล

เอกสารประกอบโดยละเอียด

getRemainingDailyQuota()

แสดงจำนวนผู้รับที่คุณสามารถส่งอีเมลถึงได้ในช่วงเวลาที่เหลือของวัน ค่าที่ส่งคืนใช้ได้กับการดำเนินการปัจจุบัน และอาจแตกต่างกันไปในแต่ละการดำเนินการ

โควต้าจะขึ้นอยู่กับจำนวนผู้รับอีเมล สำหรับข้อมูลโควต้าที่เฉพาะเจาะจง โปรดดูโควต้าสำหรับบริการของ Google

var emailQuotaRemaining = MailApp.getRemainingDailyQuota();
Logger.log("Remaining email quota: " + emailQuotaRemaining);

รีเทิร์น

Integer — จำนวนอีเมลที่สคริปต์สามารถส่งได้

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • https://www.googleapis.com/auth/script.send_mail

sendEmail(message)

ส่งข้อความอีเมล วิธีการรูปแบบนี้มีความยืดหยุ่นมากกว่า ทำให้มีตัวเลือกมากขึ้น

// This code fetches the Google and YouTube logos, inlines them in an email
// and sends the email
function inlineImage() {
  var googleLogoUrl = "https://www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_74x24dp.png";
  var youtubeLogoUrl =
        "https://developers.google.com/youtube/images/YouTube_logo_standard_white.png";
  var googleLogoBlob = UrlFetchApp
                         .fetch(googleLogoUrl)
                         .getBlob()
                         .setName("googleLogoBlob");
  var youtubeLogoBlob = UrlFetchApp
                          .fetch(youtubeLogoUrl)
                          .getBlob()
                          .setName("youtubeLogoBlob");
  MailApp.sendEmail({
    to: "recipient@example.com",
    subject: "Logos",
    htmlBody: "inline Google Logo<img src='cid:googleLogo'> images! <br>" +
              "inline YouTube Logo <img src='cid:youtubeLogo'>",
    inlineImages:
      {
        googleLogo: googleLogoBlob,
        youtubeLogo: youtubeLogoBlob
      }
  });
}

พารามิเตอร์

ชื่อTypeคำอธิบาย
messageObjectออบเจ็กต์ JavaScript ที่แสดงข้อความอีเมล

พารามิเตอร์ขั้นสูง

ชื่อTypeคำอธิบาย
attachmentsBlobSource[]อาร์เรย์ของไฟล์ที่จะส่งพร้อมกับอีเมล
bccStringรายการที่อยู่อีเมลที่คั่นด้วยจุลภาคในสำเนาลับ
bodyStringเนื้อความของอีเมล
ccStringรายการที่อยู่อีเมลที่คั่นด้วยเครื่องหมายจุลภาคสำหรับส่งสำเนาถึง
htmlBodyStringหากตั้งค่าไว้ อุปกรณ์ที่แสดงผล HTML ได้จะใช้อาร์กิวเมนต์ดังกล่าวแทนอาร์กิวเมนต์เนื้อหาที่จำเป็น คุณเพิ่มช่อง inlineImages ในเนื้อหา HTML ได้หากมีรูปภาพในบรรทัดสำหรับอีเมล
inlineImagesObjectออบเจ็กต์ JavaScript ที่มีการแมปจากคีย์รูปภาพ (String) กับข้อมูลรูปภาพ (BlobSource) โดยจะถือว่ามีการใช้พารามิเตอร์ htmlBody และมีการอ้างอิงรูปภาพเหล่านี้ในรูปแบบ <img src="cid:imageKey" /> (ดูตัวอย่าง)
nameStringชื่อผู้ส่งอีเมล ค่าเริ่มต้นคือชื่อผู้ใช้ของผู้ส่ง
noReplyBooleantrue หากควรส่งอีเมลจากอีเมลทั่วไปที่ไม่มีการตอบกลับเพื่อขัดขวางไม่ให้ผู้รับตอบอีเมล ตัวเลือกนี้จะทำได้เฉพาะบัญชี Google Workspace เท่านั้น ไม่ใช่สำหรับผู้ใช้ Gmail
replyToStringอีเมลที่จะใช้เป็นที่อยู่สำหรับตอบกลับเริ่มต้น (ค่าเริ่มต้น: อีเมลของผู้ใช้) หากตั้งค่า noReply เป็น true ระบบจะละเว้น replyTo
subjectStringเรื่องของอีเมล
toStringอีเมลของผู้รับหรือรายการอีเมลที่คั่นด้วยคอมมาสำหรับผู้รับ

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • https://www.googleapis.com/auth/script.send_mail

ดูเพิ่มเติม


sendEmail(recipient, subject, body)

ส่งข้อความอีเมล

MailApp.sendEmail("recipient@example.com",
                  "TPS reports",
                  "Where are the TPS reports?");

พารามิเตอร์

ชื่อTypeคำอธิบาย
recipientStringที่อยู่ของผู้รับ คั่นด้วยเครื่องหมายจุลภาค
subjectStringบรรทัดเรื่อง
bodyStringเนื้อความของอีเมล

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • https://www.googleapis.com/auth/script.send_mail

sendEmail(recipient, subject, body, options)

ส่งข้อความอีเมลพร้อมอาร์กิวเมนต์ที่ไม่บังคับ

// Send an email with two attachments: a file from Google Drive (as a PDF) and an HTML file.
var file = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz');
var blob = Utilities.newBlob('Insert any HTML content here', 'text/html', 'my_document.html');
MailApp.sendEmail('mike@example.com', 'Attachment example', 'Two files are attached.', {
    name: 'Automatic Emailer Script',
    attachments: [file.getAs(MimeType.PDF), blob]
});

พารามิเตอร์

ชื่อTypeคำอธิบาย
recipientStringที่อยู่ของผู้รับ คั่นด้วยเครื่องหมายจุลภาค
subjectStringบรรทัดเรื่อง
bodyStringเนื้อความของอีเมล
optionsObjectออบเจ็กต์ JavaScript ที่ระบุพารามิเตอร์ขั้นสูง ดังที่แสดงด้านล่าง

พารามิเตอร์ขั้นสูง

ชื่อTypeคำอธิบาย
attachmentsBlobSource[]อาร์เรย์ของไฟล์ที่จะส่งไปพร้อมกับอีเมล (ดูตัวอย่าง)
bccStringรายการที่อยู่อีเมลที่คั่นด้วยจุลภาคในสำเนาลับ
ccStringรายการที่อยู่อีเมลที่คั่นด้วยเครื่องหมายจุลภาคสำหรับส่งสำเนาถึง
htmlBodyStringหากตั้งค่าไว้ อุปกรณ์ที่แสดงผล HTML ได้จะใช้อาร์กิวเมนต์ดังกล่าวแทนอาร์กิวเมนต์เนื้อหาที่จำเป็น คุณเพิ่มช่อง inlineImages ในเนื้อหา HTML ได้หากมีรูปภาพในบรรทัดสำหรับอีเมล
inlineImagesObjectออบเจ็กต์ JavaScript ที่มีการแมปจากคีย์รูปภาพ (String) กับข้อมูลรูปภาพ (BlobSource) โดยจะถือว่ามีการใช้พารามิเตอร์ htmlBody และมีการอ้างอิงรูปภาพเหล่านี้ในรูปแบบ <img src="cid:imageKey" />
nameStringชื่อผู้ส่งอีเมล (ค่าเริ่มต้น: ชื่อของผู้ใช้)
noReplyBooleantrue หากควรส่งอีเมลจากอีเมลทั่วไปที่ไม่มีการตอบกลับเพื่อขัดขวางไม่ให้ผู้รับตอบอีเมล ตัวเลือกนี้จะทำได้เฉพาะบัญชี Google Workspace เท่านั้น ไม่ใช่สำหรับผู้ใช้ Gmail
replyToStringอีเมลที่จะใช้เป็นที่อยู่สำหรับตอบกลับเริ่มต้น (ค่าเริ่มต้น: อีเมลของผู้ใช้)

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • https://www.googleapis.com/auth/script.send_mail

ดูเพิ่มเติม


sendEmail(to, replyTo, subject, body)

ส่งข้อความอีเมล วิธีนี้ช่วยให้ผู้ใช้ระบุที่อยู่สำหรับตอบกลับของข้อความที่ส่งซึ่งอาจแตกต่างจากผู้ส่งได้

MailApp.sendEmail("recipient@example.com",
                  "replies@example.com",
                  "TPS report status",
                  "What is the status of those TPS reports?");

พารามิเตอร์

ชื่อTypeคำอธิบาย
toStringที่อยู่ของผู้รับ คั่นด้วยเครื่องหมายจุลภาค
replyToStringที่อยู่สำหรับตอบกลับ
subjectStringบรรทัดเรื่อง
bodyStringเนื้อหาของอีเมลเป็นข้อความธรรมดา

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • https://www.googleapis.com/auth/script.send_mail