Class MailApp

Mailแอป

ส่งอีเมล

บริการนี้ช่วยให้ผู้ใช้ส่งอีเมลโดยควบคุมเนื้อหาของอีเมลได้อย่างเต็มที่ 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

const 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() {
  const googleLogoUrl =
      'https://www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_74x24dp.png';
  const youtubeLogoUrl =
      'https://developers.google.com/youtube/images/YouTube_logo_standard_white.png';
  const googleLogoBlob =
      UrlFetchApp.fetch(googleLogoUrl).getBlob().setName('googleLogoBlob');
  const 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[]อาร์เรย์ของไฟล์ที่จะส่งไปกับอีเมล
bccStringรายการอีเมลที่ส่งสำเนาลับซึ่งคั่นด้วยคอมมา
bodyStringเนื้อหาของอีเมล
ccStringรายการอีเมลที่คั่นด้วยคอมมาเพื่อส่งสำเนา
htmlBodyStringหากตั้งค่าไว้ อุปกรณ์ที่แสดงผล HTML ได้จะใช้แทนอาร์กิวเมนต์ body ที่ต้องระบุ คุณสามารถเพิ่มช่อง 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.
const file = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz');
const 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[]อาร์เรย์ไฟล์ที่จะส่งไปกับอีเมล (ดูตัวอย่าง)
bccStringรายการอีเมลที่ส่งสำเนาลับซึ่งคั่นด้วยคอมมา
ccStringรายการอีเมลที่คั่นด้วยคอมมาเพื่อส่งสำเนา
htmlBodyStringหากตั้งค่าไว้ อุปกรณ์ที่แสดงผล HTML ได้จะใช้แทนอาร์กิวเมนต์ body ที่ต้องระบุ คุณสามารถเพิ่มช่อง 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