Class MailApp

MailỨng dụng

Gửi email.

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

Các 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 so với tập lệnh MailApp.

Phương thức

Phương thứcLoại 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 cho trong phần còn lại của ngày.
sendEmail(message)voidGửi email.
sendEmail(recipient, subject, body)voidGửi email.
sendEmail(recipient, subject, body, options)voidGửi email có đối số tuỳ chọn.
sendEmail(to, replyTo, subject, body)voidGửi email.

Tài liệu chi tiết

getRemainingDailyQuota()

Trả về số người nhận mà bạn có thể gửi email cho trong phần còn lại của ngày. Giá trị được trả về là hợp lệ cho lần 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 được tính 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 bài viết 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 yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:

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

sendEmail(message)

Gửi email. Biến thể của phương thức này linh hoạt hơn nhiều, cho phép nhiều tuỳ 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,
    },
  });
}

Tham số

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

Thông số nâng cao

TênLoạiMô tả
attachmentsBlobSource[]một آرایه 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 của 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ó thể hiển thị HTML sẽ sử dụng trường 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 trong nội dung HTML nếu đã thêm hình ảnh nội tuyến cho email
inlineImagesObjectmột đối tượng JavaScript chứa mối liên kết từ khoá hình ảnh (String) đến dữ liệu hình ảnh (BlobSource); giả định rằng tham số htmlBody được sử dụng và chứa các tệp tham chiếu đến các 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 trả lời để người nhận không trả lời email; tuỳ chọn này chỉ dành cho tài khoản Google Workspace, chứ 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, 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 yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:

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

Xem thêm


sendEmail(recipient, subject, body)

Gửi email.

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

Tham 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 của email

Ủy quyền

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

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

sendEmail(recipient, subject, body, options)

Gửi email có đối số tuỳ chọn.

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

Tham 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 của 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 آرایه 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ó thể hiển thị HTML sẽ sử dụng trường 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 trong nội dung HTML nếu đã thêm hình ảnh nội tuyến cho email
inlineImagesObjectmột đối tượng JavaScript chứa mối liên kết từ khoá hình ảnh (String) đến dữ liệu hình ảnh (BlobSource); giả định rằng tham số htmlBody được sử dụng và chứa các tệp tham chiếu đến các 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 trả lời để người nhận không trả lời email; tuỳ chọn này chỉ dành cho tài khoản Google Workspace, chứ 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 yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:

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

Xem thêm


sendEmail(to, replyTo, subject, body)

Gửi email. Phương thức này cho phép người dùng dễ dàng chỉ định địa chỉ Reply-To cho thư đã gửi có thể khác với địa chỉ của người gửi.

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

Tham 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 yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:

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