2016-08-31 116 views
1

我試圖使用Google Apps腳本代碼發送附件文件的電子郵件。該文件將獲得標籤。有誰知道該怎麼做?在這些示例中,只有來自Google雲端硬盤的代碼附加文件。使用應用程序腳本使用郵件發送附件

+3

Google Apps腳本代碼在服務器上運行,它無法讀取用戶計算機上的驅動器。 。 。如果這就是你的意思。您需要使用HTML構建用戶界面,並讓用戶將文件上傳到雲端硬盤,然後獲取文件ID,然後使用它來引用該文件,以便將其附加到電子郵件中。 –

回答

0

不知道這是你在找什麼。我們的一位團隊成員製作了此代碼。它允許沒有Google驅動器的附件。

//******************************** 
//GAS 
//******************************** 

function doGet() { 
    return HtmlService.createHtmlOutputFromFile('index') 
    .setSandboxMode(HtmlService.SandboxMode.IFRAME); 
} 

function processForm(formObject) { 
    var myFile = formObject.myFile; 

    var FileBytes = myFile.getBytes(); 
    var FileType = myFile.getContentType(); 
    var FileName = myFile.getName(); 
    var FileToSend = { 
    fileName: FileName, 
    content: FileBytes, 
    mimeType: FileType 
    }; 
    // Logger.log(FileType); 

    var FileBytes2 = [100, 97, 121, 32, 108, 97, 32, 110, 111, 105, 32, 100, 117, 110, 103, 32, 98, 101, 110, 32, 116, 114, 111, 110, 103]; 
    var FileToSend2 = { 
    fileName: 'test222.txt', 
    content: FileBytes2, 
    mimeType: 'text/plain' 
    }; 
    var FileToSend3 = { 
    fileName: 'test333.txt', 
    content: 'noi dung ben trong', 
    mimeType: 'text/plain' 
    }; 

    GmailApp.sendEmail('[email protected]', '6 Attachment example', '6 Please see the attached file.', { 
    attachments: [FileToSend, FileToSend2, FileToSend3], 
    name: '6 Automatic Emailer Script' 
    }); 

    return FileName; 
} 
//******************************************** //HTML //******************************************** 



<!DOCTYPE html> 
<html> 

<head> 
    <base target="_top"> 
    <script> 
    // Prevent forms from submitting. 
    function preventFormSubmit() { 
     var forms = document.querySelectorAll('form'); 
     for (var i = 0; i < forms.length; i++) { 
     forms[i].addEventListener('submit', function(event) { 
      event.preventDefault(); 
     }); 
     } 
    } 
    window.addEventListener('load', preventFormSubmit); 

    function handleFormSubmit(formObject) { 
     google.script.run.withSuccessHandler(updateUrl).processForm(formObject); 
    } 

    function updateUrl(filename) { 
     var div = document.getElementById('output'); 
     div.innerHTML = filename; 
    } 
    </script> 
</head> 

<body> 
    <form id="myForm" onsubmit="handleFormSubmit(this)" method="post" enctype="multipart/form-data"> 
    <input name="myFile" type="file" multiple/> 
    <input type="submit" value="Submit" /> 
    </form> 
    <div id="output"></div> 
</body> 

</html>