Отправка электронного письма с вложением PDF с Google Диска с помощью Apps Script – это мощный метод автоматизации, который поможет вам сэкономить время и усилия. В этой статье блога мы рассмотрим несколько простых способов выполнения этой задачи, дополненных разговорными объяснениями и примерами кода. Так что будьте готовы повысить уровень своей электронной почты с помощью этих удобных приемов Apps Script!
Метод 1: использование класса GmailApp
Первый метод предполагает использование класса GmailApp, который обеспечивает простой способ отправки электронных писем из вашей учетной записи Gmail. Чтобы отправить электронное письмо с вложением PDF, выполните следующие действия:
function sendEmailWithPDFUsingGmailApp() {
var recipient = 'example@example.com';
var subject = 'Check out this PDF!';
var body = 'Hey there, I'm sending you a PDF from Google Drive.';
var file = DriveApp.getFileById('your_pdf_file_id');
GmailApp.sendEmail(recipient, subject, body, {
attachments: [file.getAs(MimeType.PDF)],
});
}
Метод 2: использование класса MailApp
Подобно предыдущему методу, вы также можете использовать класс MailApp для отправки электронных писем. Вот пример отправки электронного письма с вложением PDF:
function sendEmailWithPDFUsingMailApp() {
var recipient = 'example@example.com';
var subject = 'Check out this PDF!';
var body = 'Hey there, I'm sending you a PDF from Google Drive.';
var file = DriveApp.getFileById('your_pdf_file_id');
MailApp.sendEmail(recipient, subject, body, {
attachments: [file.getAs(MimeType.PDF)],
});
}
Метод 3: использование расширенной службы Gmail
Расширенная служба Gmail обеспечивает больший контроль над процессом отправки электронной почты. Чтобы включить эту услугу, выполните следующие действия:
- Перейдите в редактор скриптов приложений.
- Нажмите «Ресурсы» в меню.
- Выберите «Расширенные службы Google».
- Включите «Gmail API».
После включения вы сможете использовать следующий код для отправки электронного письма с вложением PDF:
function sendEmailWithPDFUsingAdvancedService() {
var recipient = 'example@example.com';
var subject = 'Check out this PDF!';
var body = 'Hey there, I'm sending you a PDF from Google Drive.';
var file = DriveApp.getFileById('your_pdf_file_id');
var message = {
to: recipient,
subject: subject,
body: body,
attachments: [file.getAs(MimeType.PDF)],
};
Gmail.Users.Messages.send(message, 'me');
}
Метод 4. Использование UrlFetchApp и Gmail API
Другой подход — использовать класс UrlFetchApp для прямого взаимодействия с Gmail API. Вот пример фрагмента кода:
function sendEmailWithPDFUsingUrlFetchApp() {
var recipient = 'example@example.com';
var subject = 'Check out this PDF!';
var body = 'Hey there, I'm sending you a PDF from Google Drive.';
var file = DriveApp.getFileById('your_pdf_file_id');
var message = {
to: recipient,
subject: subject,
body: body,
attachments: [
{
filename: 'YourPDF.pdf',
mimeType: 'application/pdf',
bytes: file.getBlob().getBytes(),
},
],
};
var options = {
method: 'post',
contentType: 'application/json',
payload: JSON.stringify(message),
headers: {
Authorization: 'Bearer ' + ScriptApp.getOAuthToken(),
},
};
UrlFetchApp.fetch(
'https://www.googleapis.com/gmail/v1/users/me/messages/send',
options
);
}
Метод 5. Использование Drive API
Вы также можете напрямую использовать Drive API для отправки электронного письма с вложением PDF. Вот пример фрагмента кода:
function sendEmailWithPDFUsingDriveAPI() {
var recipient = 'example@example.com';
var subject = 'Check out this PDF!';
var body = 'Hey there, I'm sending you a PDF from Google Drive.';
var file = DriveApp.getFileById('your_pdf_file_id');
var message = {
raw: Utilities.base64EncodeWebSafe(
createEmail(recipient, 'me', subject, body, file.getBlob())
),
};
Drive.Files.insert(message);
}
function createEmail(to, from, subject, body, attachment) {
var email = [
'Content-Type: multipart/mixed; boundary="foo_bar_baz"\n',
'MIME-Version: 1.0\n',
'to: ',
to,
'\n',
'from: ',
from,
'\n',
'subject: ',
subject,
'\n\n',
'--foo_bar_baz\n',
'Content-Type: text/plain; charset="UTF-8"\n',
'MIME-Version: 1.0\n',
'Content-Transfer-Encoding: 7bit\n\n',
body,
'\n\n',
'--foo_bar_baz\n',
'Content-Type: application/pdf; name="YourPDF.pdf"\n',
'MIME-Version: 1.0\n',
'Content-Transfer-Encoding: base64\n',
'Content-Disposition: attachment; filename="YourPDF.pdf"\n\n',
Utilities.base64Encode(attachment.getBytes()),
'\n\n',
'--foo_bar_baz--',
].join('');
return Utilities.newBlob(email).getBytes();
}
Метод 6: использование надстройки для автоматизации электронной почты
Если программирование вам не по душе, вы можете изучить популярные надстройки для автоматизации электронной почты, доступные в G Suite Marketplace. Эти надстройки предлагают удобные интерфейсы для отправки электронных писем с вложениями в формате PDF прямо с Google Диска. Примеры: «Еще одно слияние писем», «Издатель форм» и «Автократ».
Метод 7: использование сторонних платформ интеграции.
В качестве альтернативы вы можете использовать сторонние платформы интеграции, такие как Zapier или Integromat, которые обеспечивают плавное соединение между различными приложениями. Эти платформы предлагают готовые рабочие процессы для отправки электронных писем с вложениями в формате PDF с Google Диска без написания кода.
Отправка электронных писем с вложениями в формате PDF с Google Диска с помощью Apps Script теперь доступна вам. Предпочитаете ли вы кодирование или использование надстроек или платформ интеграции, существует множество методов, соответствующих вашим потребностям. Так что вперед и автоматизируйте свой рабочий процесс с электронной почтой уже сегодня!