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
      }
  });
}

พารามิเตอร์

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

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

ชื่อประเภทคำอธิบาย
attachmentsBlobSource[]CANNOT TRANSLATE อาร์เรย์ของไฟล์ที่จะส่งพร้อมอีเมล
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?");

พารามิเตอร์

ชื่อประเภทคำอธิบาย
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]
});

พารามิเตอร์

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

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

ชื่อประเภทคำอธิบาย
attachmentsBlobSource[]CANNOT TRANSLATE อาร์เรย์ของไฟล์ที่จะส่งพร้อมอีเมล (ดูตัวอย่าง)
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?");

พารามิเตอร์

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

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

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

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