2015-05-28 6 views
1

Итак, я работаю над созданием этого рабочего процесса утверждения для форм Google. Я новичок в этом, я искал в Интернете и читал некоторые уроки, а также google, но большинство вещей, которые я видел, устарели. Я думаю, что мои триггеры текущие, они настроены на onformsubmit, и когда я проверяю журнал выполнения, он говорит об успехе. Но, тем не менее, я не получал никаких электронных писем. Может ли кто-нибудь привести меня в правильном направлении?Успех выполнения, но нет результатов?

Спасибо!

function sendEmail(e){ 
    var requestorEmail = e.values[1]; 
    var SupervisorsEmail = e.values[2]; //manager e-mail 
    var ApplicationID = e.values[3]; 
    var ApplicationDate = e.values[4]; //dateconfirmationSent 
    var ApplicantName = e.values[5]; //interpreter name 
    var MBO = e.values[6]; 
    var Processor = e.values[7]; 
    var ShortReason = e.values[8]; 
    var ReasonCode = e.values[9]; 
    var approval = e.values[10]; //the one we need to modify 
    var url ='https://script.google.com/a/macros/bbva.com/s/AKfycbwKtqBa7L_oB2qnkQclVmKuWLnxj6ic74CAalUmxEDCv0SkjCY/exec'; 


    /**might be that the & needs to be a ?*/ 
    var approve = url + '?approval=true'+'?reply='+requestorEmail; 
    var reject = url + '?approval=false'+'?reply='+requestorEmail; 

    var html = "<HTML><body>"+ 
      "<h2>please review</h2><br />" 
    +"<P>" + ApplicationID +" " + ApplicationDate 
    +"<p>" + "MBO:"+ MBO 
    +"<p>" + "Processor:" + Processor 
    +"<p>" + "Short Reason: "+ ShortReason 
    +"<p>" + "requester: "+ requestorEmail+ 
    +"<p>" + "Reason Code: "+ ReasonCode+ " "+ 
    "<p>"+ 

    "<a href="+ approve +">Approve</a><br />"+ 
    "<p>"+ 

    "<a href=" +reject+">Reject</a><br />"+ 
      "</HTML></body>"; 

    MailApp.sendEmail(SupervisorsEmail, "Approval Request", "what no html?", {htmlBody: html}); 

    } 

function doGet(e) { 

var app = UiApp.createApplication(); 

var aprovalResponce = (e.parameter.approval == 'true') ? 'Approved.' : 'Sorry, you need to reschedule'; 

    var msg = "Your manager said :" + aprovalResponce; 

    var replyEmail = e.parameter.reply; 
Logger.log(replyEmail); 

    MailApp.sendEmail(replyEmail, "Approval Request", msg); 

    var helloWorldLabel = app.createLabel(msg); 
    app.add(helloWorldLabel); 


    return app; 
} 

Это мое исполнение транскрипт

[15-05-28 11:24:54:243 CDT] SpreadsheetApp.getActiveRange() [0 seconds] 
[15-05-28 11:24:54:243 CDT] Range.getRow() [0 seconds] 
[15-05-28 11:24:54:243 CDT] Range.getLastRow() [0 seconds] 
[15-05-28 11:24:54:243 CDT] Range.getColumn() [0 seconds] 
[15-05-28 11:24:54:244 CDT] Range.getLastColumn() [0 seconds] 
[15-05-28 11:24:54:244 CDT] SpreadsheetApp.getActiveSpreadsheet() [0 seconds] 
[15-05-28 11:24:54:283 CDT] Starting execution 
[15-05-28 11:24:54:713 CDT] MailApp.sendEmail(i removed personal info) [0.425 seconds] 
[15-05-28 11:24:54:714 CDT] Execution succeeded [0.426 seconds total runtime] 

E-Mails в настоящее время работают, но теперь я бегу в эту ошибку, когда я нажмите «Подтвердить» в моей электронной почты. Есть идеи?

[15-05-28 16:19:46:941 CDT] Starting execution 
[15-05-28 16:19:46:965 CDT] UiApp.createApplication() [0.001 seconds] 
[15-05-28 16:19:46:967 CDT] Logger.log([undefined, []]) [0 seconds] 
[15-05-28 16:19:46:968 CDT] MailApp.sendEmail([undefined, Approval Request, Your manager said :Sorry, you need to reschedule]) [0 seconds] 
[15-05-28 16:19:46:992 CDT] Execution failed: Invalid email: undefined (line 52, file "Code", project "Send emails") [0.006 seconds total runtime] 

ответ

1

Даже если вы определенно получаете по электронной почте, что вам нужно от формы, попробуйте «Hard Coding» и электронную почту, и посмотреть, если функция MailApp.sendEmail() работы:

MailApp.sendEmail('[email protected]", "Approval Request", "what no html?", {htmlBody: html}); 

После этой строки кода :

var SupervisorsEmail = e.values[2]; //manager e-mail 

Введите Logger.log() заявление:

var SupervisorsEmail = e.values[2]; //manager e-mail 
Logger.log('SupervisorsEmail: ' + SupervisorsEmail); 

Затем отправьте форму и посмотрите под меню VIEW и LOGS. Получаете ли вы письмо?

Кроме того, загляните в папку «Отправленные», чтобы узнать, было ли отправлено электронное письмо, но так и не получено.

+0

Благодарим за отзыв. Он фактически вывел и запустил электронное письмо, но он все равно не отправил сообщение. Или, по крайней мере, он еще не пришел в мой адрес электронной почты. Я работал над этим вчера и не получал уведомления об ошибках до полуночи. – dmm0013

+0

Есть ли «отправленное» письмо в папке «отправлено»? –

+0

«Жесткий код» укажите адрес электронной почты, отправьте форму и узнайте, отправлено ли электронное письмо. Как показано в обновленном ответе. Попробуйте установить, является ли проблема возвращенным значением электронной почты или строкой 'MailApp.sendEmail()'. Если 'MailApp.sendEmail()' работает с «жестко закодированным» электронным письмом, то в переменной 'SupervisorsEmail' должно быть что-то неправильно. Если это ни один из них, переходите к другим возможностям. Это может быть проблема с временными службами с серверами Google. Я не знаю. –