Class MailApp

MailApp

Gửi email.

Dịch vụ này cho phép người dùng gửi email và kiểm soát hoàn toàn nội dung của email. Không giống như GmailApp, mục đích duy nhất của MailApp là gửi email. MailApp không thể truy cập vào hộp thư đến trên Gmail của người dùng.

Những thay đổi đối với tập lệnh được viết bằng GmailApp có nhiều khả năng kích hoạt yêu cầu uỷ quyền lại từ người dùng hơn là tập lệnh MailApp.

Phương thức

Phương thứcKiểu dữ liệu trả vềMô tả ngắn
getRemainingDailyQuota()IntegerTrả về số người nhận mà bạn có thể gửi email trong thời gian còn lại của ngày.
sendEmail(message)voidGửi nội dung email.
sendEmail(recipient, subject, body)voidGửi nội dung email.
sendEmail(recipient, subject, body, options)voidGửi nội dung email có đối số không bắt buộc.
sendEmail(to, replyTo, subject, body)voidGửi nội dung email.

Tài liệu chi tiết

getRemainingDailyQuota()

Trả về số người nhận mà bạn có thể gửi email trong thời gian còn lại của ngày. Giá trị được trả về là giá trị hợp lệ cho quá trình thực thi hiện tại và có thể khác nhau giữa các lần thực thi.

Hạn mức dựa trên số lượng người nhận email. Để biết thông tin cụ thể về hạn mức, hãy xem phần Hạn mức cho Dịch vụ Google.

const emailQuotaRemaining = MailApp.getRemainingDailyQuota();
Logger.log(`Remaining email quota: ${emailQuotaRemaining}`);

Cầu thủ trả bóng

Integer – Số email còn lại mà tập lệnh có thể gửi.

Ủy quyền

Các tập lệnh sử dụng phương thức này cần được uỷ quyền bằng một hoặc nhiều phạm vi sau đây:

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

sendEmail(message)

Gửi nội dung email. Biến thể này của phương thức linh hoạt hơn nhiều, cho phép có nhiều lựa chọn hơn.

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

Thông số

TênLoạiMô tả
messageObjectmột đối tượng JavaScript đại diện cho nội dung email

Thông số nâng cao

TênLoạiMô tả
attachmentsBlobSource[]một mảng các tệp để gửi cùng email
bccStringdanh sách địa chỉ email được phân tách bằng dấu phẩy để gửi BCC
bodyStringnội dung email
ccStringdanh sách địa chỉ email được phân tách bằng dấu phẩy để thêm vào phần cc
htmlBodyStringnếu được đặt, các thiết bị có khả năng hiển thị HTML sẽ sử dụng tham số này thay vì đối số nội dung bắt buộc; bạn có thể thêm trường inlineImages không bắt buộc vào nội dung HTML nếu có hình ảnh nội dòng cho email
inlineImagesObjectmột đối tượng JavaScript chứa một mối liên kết từ khoá hình ảnh (String) đến dữ liệu hình ảnh (BlobSource); điều này giả định rằng tham số htmlBody được dùng và chứa các tham chiếu đến những hình ảnh này ở định dạng <img src="cid:imageKey" /> (xem ví dụ)
nameStringtên của người gửi email. Giá trị mặc định là tên người dùng của người gửi.
noReplyBooleantrue nếu email được gửi từ một địa chỉ email chung không dùng để trả lời nhằm ngăn người nhận trả lời email; lựa chọn này chỉ dành cho tài khoản Google Workspace, không dành cho người dùng Gmail
replyToStringđịa chỉ email dùng làm địa chỉ trả lời mặc định (mặc định: địa chỉ email của người dùng). Nếu bạn đặt noReply thành true, thì replyTo sẽ bị bỏ qua.
subjectStringtiêu đề của email
toStringđịa chỉ email của người nhận hoặc danh sách địa chỉ email được phân tách bằng dấu phẩy để làm người nhận

Ủy quyền

Các tập lệnh sử dụng phương thức này cần được uỷ quyền bằng một hoặc nhiều phạm vi sau đây:

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

Xem thêm


sendEmail(recipient, subject, body)

Gửi nội dung email.

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

Thông số

TênLoạiMô tả
recipientStringđịa chỉ của người nhận, được phân tách bằng dấu phẩy
subjectStringdòng tiêu đề
bodyStringnội dung email

Ủy quyền

Các tập lệnh sử dụng phương thức này cần được uỷ quyền bằng một hoặc nhiều phạm vi sau đây:

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

sendEmail(recipient, subject, body, options)

Gửi nội dung email có đối số không bắt buộc.

// 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],
    },
);

Thông số

TênLoạiMô tả
recipientStringđịa chỉ của người nhận, được phân tách bằng dấu phẩy
subjectStringdòng tiêu đề
bodyStringnội dung email
optionsObjectmột đối tượng JavaScript chỉ định các tham số nâng cao, như được liệt kê bên dưới

Thông số nâng cao

TênLoạiMô tả
attachmentsBlobSource[]một mảng các tệp để gửi cùng email (xem ví dụ)
bccStringdanh sách địa chỉ email được phân tách bằng dấu phẩy để gửi BCC
ccStringdanh sách địa chỉ email được phân tách bằng dấu phẩy để thêm vào phần cc
htmlBodyStringnếu được đặt, các thiết bị có khả năng hiển thị HTML sẽ sử dụng tham số này thay vì đối số nội dung bắt buộc; bạn có thể thêm trường inlineImages không bắt buộc vào nội dung HTML nếu có hình ảnh nội dòng cho email
inlineImagesObjectmột đối tượng JavaScript chứa một mối liên kết từ khoá hình ảnh (String) đến dữ liệu hình ảnh (BlobSource); điều này giả định rằng tham số htmlBody được dùng và chứa các tham chiếu đến những hình ảnh này ở định dạng <img src="cid:imageKey" />
nameStringtên của người gửi email (mặc định: tên của người dùng)
noReplyBooleantrue nếu email được gửi từ một địa chỉ email chung không dùng để trả lời nhằm ngăn người nhận trả lời email; lựa chọn này chỉ dành cho tài khoản Google Workspace, không dành cho người dùng Gmail
replyToStringđịa chỉ email dùng làm địa chỉ trả lời mặc định (mặc định: địa chỉ email của người dùng)

Ủy quyền

Các tập lệnh sử dụng phương thức này cần được uỷ quyền bằng một hoặc nhiều phạm vi sau đây:

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

Xem thêm


sendEmail(to, replyTo, subject, body)

Gửi nội dung email. Phương thức này giúp người dùng dễ dàng chỉ định địa chỉ trả lời cho thư đã gửi, địa chỉ này có thể khác với người gửi.

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

Thông số

TênLoạiMô tả
toStringđịa chỉ của người nhận, được phân tách bằng dấu phẩy
replyToStringđịa chỉ trả lời
subjectStringdòng tiêu đề
bodyStringnội dung email ở dạng văn bản thuần tuý

Ủy quyền

Các tập lệnh sử dụng phương thức này cần được uỷ quyền bằng một hoặc nhiều phạm vi sau đây:

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