使用Google脚本发送outlook公司群邮件
Sending outlook company group mail using Google script
function sendEmail(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var spreadsheetId = ss.getId();
var sheet = ss.getSheetByName("sheet33");
var range = sheet.getRange("A1:K");
var tempSheet = ss.insertSheet(`sheet33_temp`);
range.copyTo(tempSheet.getRange("A1"), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
range.copyTo(tempSheet.getRange("A1"), SpreadsheetApp.CopyPasteType.PASTE_COLUMN_WIDTHS, false);
range.copyFormatToRange(tempSheet, 1, 1, 1, 1);
SpreadsheetApp.flush();
var tempSheetId = tempSheet.getSheetId();
var spreadsheetName = tempSheet.getSheetName();
var url = "https://docs.google.com/spreadsheets/d/" + spreadsheetId + "/export?format=xlsx&gid=" + tempSheetId ;
// dd
var date = new Date();
date.setDate(date.getDate() + 1);
var dd = Utilities.formatDate(date , "GMT+9", "yyyyMMdd") ;
var token = ScriptApp.getOAuthToken();
var response = UrlFetchApp.fetch(url, {
headers: {
'Authorization': 'Bearer ' + token
},
muteHttpExceptions: true
});
var blobs = response.getBlob();
blobs.setName(`${spreadsheetName}_${dd}.xlsx`)
var folder = DriveApp.getFolderById('123456asdfK');
backupFile = folder.createFile(blobs);
var receipient = `grp_k@asdf.onmicrosoft.com`
var subject = spreadsheetName + `_${dd} List Share.
var message = spreadsheetName + `_${dd} List Share.
Thanks.`
MailApp.sendEmail(receipient, subject, message, {attachments: blobs});
Browser.msgBox(`${spreadsheetName}${dd} ${receipient} Send Complete.`, Browser.Buttons.OK);
ss.deleteSheet(tempSheet);
}
用台词说说公司当天的deadline
将所需的选项卡从电子表格复制到临时文件,再次提取所需的范围,将其转换为 Excel,然后将其上传到 Google 驱动器。
此外,e-mail 与 Excel 作为附件一起发送。
如果我通过将它发送到我在公司的个人电子邮件地址来测试它,这个问题就可以正常工作。
但是,它应该发送和接收到一个特定的 Outlook 邮件“组”,其中有几个人属于公司,但是脚本有效,但是收不到来自“组”的邮件。
G-suit账号发到outlook没有收到的部分,我在群组设置中设置了编辑>允许接收外部邮件,还是没有收到。
使用 MailApp 脚本发送时,无法查看发送到 Outlook 的邮箱中的历史记录。
收到的邮件也会发送到 G-suit 帐户。我想查看 Gmail 历史记录,但由于公司安全政策限制访问。
您需要什么帮助
- 如何从 Google 脚本发送邮件到 Outlook
或者
- 如何向公司使用的Outlook“群”发送邮件
其实如果用1号能解决的话,我觉得有可能会解决,因为我的账号是Outlook(MS账号)。
但是我的技术太难解决,求助
我搜索了所有技术栈/开发人员,但是
没有找到对应的会议。
我需要帮助。
提前致谢。
根据 MailApp
文档:
Sends email.
This service allows users to send emails with complete control over the content of the email. Unlike GmailApp
, MailApp
's sole purpose is sending email. MailApp
cannot access a user's Gmail inbox.
因此,如果您想使用 Apps 脚本向 Outlook 地址发送电子邮件,在这种情况下 MailApp
是合适的选择。
关于接收邮件,您可能需要仔细检查您输入的电子邮件地址以及群组的具体设置。
参考
function sendEmail(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var spreadsheetId = ss.getId();
var sheet = ss.getSheetByName("sheet33");
var range = sheet.getRange("A1:K");
var tempSheet = ss.insertSheet(`sheet33_temp`);
range.copyTo(tempSheet.getRange("A1"), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
range.copyTo(tempSheet.getRange("A1"), SpreadsheetApp.CopyPasteType.PASTE_COLUMN_WIDTHS, false);
range.copyFormatToRange(tempSheet, 1, 1, 1, 1);
SpreadsheetApp.flush();
var tempSheetId = tempSheet.getSheetId();
var spreadsheetName = tempSheet.getSheetName();
var url = "https://docs.google.com/spreadsheets/d/" + spreadsheetId + "/export?format=xlsx&gid=" + tempSheetId ;
// dd
var date = new Date();
date.setDate(date.getDate() + 1);
var dd = Utilities.formatDate(date , "GMT+9", "yyyyMMdd") ;
var token = ScriptApp.getOAuthToken();
var response = UrlFetchApp.fetch(url, {
headers: {
'Authorization': 'Bearer ' + token
},
muteHttpExceptions: true
});
var blobs = response.getBlob();
blobs.setName(`${spreadsheetName}_${dd}.xlsx`)
var folder = DriveApp.getFolderById('123456asdfK');
backupFile = folder.createFile(blobs);
var receipient = `grp_k@asdf.onmicrosoft.com`
var subject = spreadsheetName + `_${dd} List Share.
var message = spreadsheetName + `_${dd} List Share.
Thanks.`
MailApp.sendEmail(receipient, subject, message, {attachments: blobs});
Browser.msgBox(`${spreadsheetName}${dd} ${receipient} Send Complete.`, Browser.Buttons.OK);
ss.deleteSheet(tempSheet);
}
用台词说说公司当天的deadline 将所需的选项卡从电子表格复制到临时文件,再次提取所需的范围,将其转换为 Excel,然后将其上传到 Google 驱动器。 此外,e-mail 与 Excel 作为附件一起发送。
如果我通过将它发送到我在公司的个人电子邮件地址来测试它,这个问题就可以正常工作。 但是,它应该发送和接收到一个特定的 Outlook 邮件“组”,其中有几个人属于公司,但是脚本有效,但是收不到来自“组”的邮件。
G-suit账号发到outlook没有收到的部分,我在群组设置中设置了编辑>允许接收外部邮件,还是没有收到。
使用 MailApp 脚本发送时,无法查看发送到 Outlook 的邮箱中的历史记录。 收到的邮件也会发送到 G-suit 帐户。我想查看 Gmail 历史记录,但由于公司安全政策限制访问。
您需要什么帮助
- 如何从 Google 脚本发送邮件到 Outlook 或者
- 如何向公司使用的Outlook“群”发送邮件
其实如果用1号能解决的话,我觉得有可能会解决,因为我的账号是Outlook(MS账号)。
但是我的技术太难解决,求助
我搜索了所有技术栈/开发人员,但是 没有找到对应的会议。
我需要帮助。 提前致谢。
根据 MailApp
文档:
Sends email.
This service allows users to send emails with complete control over the content of the email. Unlike
GmailApp
,MailApp
's sole purpose is sending email.MailApp
cannot access a user's Gmail inbox.
因此,如果您想使用 Apps 脚本向 Outlook 地址发送电子邮件,在这种情况下 MailApp
是合适的选择。
关于接收邮件,您可能需要仔细检查您输入的电子邮件地址以及群组的具体设置。