2013-05-02 164 views
3

使用sendEmail,我怎樣才能通過組合兩個表單域來發送郵件給多個逗號分隔的收件人?當(lastrow,4)只有一個值([email protected])但不超過一個時([email protected][email protected]),似乎可行。當前的代碼在下面,並且所討論的變量是收件人到Google Apps腳本sendEmail:多個收件人字符串?

function FormEmail() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheetform = ss.getSheetByName("Sheet1"); // Name of the sheet which contains the results 
    var lastrow = sheetform.getLastRow(); 
    var recipientsTO = sheetform.getRange(lastrow,3).getValue() + "@domain.com"; 
    var recipientsCC = "" 
    var team = sheetform.getRange(lastrow,5).getValue(); 
    var datestamp = Utilities.formatDate(sheetform.getRange(lastrow,1).getValue(), "GMT - 5", "yyyy-MM-dd"); 
    var html = "Intro text; 

    //The questions order in the email will be the order of the column in the sheet 
    for (var i = 2; i < 11; ++i) { 
    html = html + "<b>" + sheetform.getRange(1,i).getValue() + "</b><br>"; 
    html = html + sheetform.getRange(lastrow,i).getValue() + "</p><br>"; 
     } 

    //Add additional emails if entered in form field 
    if (sheetform.getRange(lastrow,4).getValue() !== "") { 
    recipientsTO = recipientsTO + "," + sheetform.getRange(lastrow,4).getValue() 
    } 

    //CC if response to a question is "Yes" 
    if (sheetform.getRange(lastrow,10).getValue() == "Yes") { 
    recipientsCC = "[email protected]" 
    } 


    MailApp.sendEmail({ 
    to: recipientsTO, 
    cc: recipientsCC, 
    subject: "Subject", 
    htmlBody: html, 
}); 


} 
+1

您可以嘗試在添加其他電子郵件地址的if語句正下方添加Logger.log(recipientsTO),然後查看日誌以查看是否可以看到任何格式不正確的addesses。 – ScampMichael 2013-05-02 18:31:39

回答

3

根據sendEmail(消息)文檔,TO字段只有一個收件人。 而CC字段可以有多個用逗號分隔的收件人。

http://goo.gl/CGjiJ

`來 - 字符串 - 收件人的地址。

CC -STRING - 用逗號分隔的電子郵件地址列表,CC`

另一種選擇是在功能「收件人使用sendEmail(字符串,字符串,字符串,對象)字符串收件人的地址,被逗號隔開」。

希望這會有所幫助。

+0

謝謝。您可能是對的,但我對該文檔頁面感到困惑:[link](https://developers.google.com/apps-script/reference/mail/mail-app)。在sendEmail(消息)下,它表示「to」是「收件人的地址」,並且在sendEmail(to,replyTo,subject,body)中,它表示「to」是「收件人的地址,用逗號分隔」。不確定該相信。無論如何,當附加的單元格值是一個收件人(「to :)中的總數爲2,但是如果它是兩個(在」to「中總共爲3),它就會起作用,導致我相信它只是壞的語法...... – user2343694 2013-05-03 04:58:55

+0

「哪一個相信」 - 每個函數都接收單獨的參數,相信兩者都可以。你能調試並顯示一個,兩個或三個收件人的「to」字段的值嗎?如果語法錯誤,那麼調試它應該顯示它。沒有任何空格之間的逗號和第三封電子郵件。 – miturbe 2013-05-03 13:01:51

+0

:: facepalm ::我的原始代碼上面的工作正常,所以隨時使用它 非常感謝mitrube爲您的幫助我不熟悉調試器,但嘗試過了,一切正常,有或沒有空格!我得到的錯誤報告指的是一個格式不正確的電子郵件地址(lastrow,3),但我通過經驗學到了一些東西。再次感謝。 – user2343694 2013-05-06 16:45:52

相關問題