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

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 ได้จะใช้ค่านี้แทน อาร์กิวเมนต์เนื้อหาที่จำเป็น คุณสามารถเพิ่มฟิลด์ 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 ได้จะใช้ค่านี้แทน อาร์กิวเมนต์เนื้อหาที่จำเป็น คุณสามารถเพิ่มฟิลด์ 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