-
אני עובד עכשיו על שליחת מיילים מהמערכת
הכנתי קוד בגוגל סקריפט שכשהוא מקבל קריאת POST הוא שולח ע"פ הנתונים מייל
לא הצלחתי לחבר את המערכת ישירות לגוגל סקריפט ולכן הכנתי קובץ PHP ששולח את הנתונים לגוגל סקריפט
זה עובד אבל משום מה המייל נשלח פעמיים
מה יכולה להיות הסיבה?קוד בגוגל סקריפט:
function doPost(e) { var params = e.parameters var recipient = params["recipient"]; var subject = params["subject"]; var body = params["body"]; GmailApp.sendEmail(recipient, subject, body); }
הגדרות במערכת:
type=api api_link=https://......php api_add_0=url=https://script.google.com/macros/s/......../exec
קובץ PHP (מקשר ביניהם):
<?php if (!isset($_POST['url'])) { echo print "id_list_message=t-לא מוגדרת כתובת &go_to_folder=/1&"; exit(); } if (!isset($_POST['recipient'])) { echo "read=t-אנא הקש את כתובת המייל=recipient,no,100,1,50,EmailKeyboard,,,,,,,InsertLettersChangeLanguageNo&"; exit(); } if (!isset($_POST['subject'])) { echo "read=t-אנא הקש את כותרת המייל=subject,no,100,1,50,HebrewKeyboard,,,,,,,,&"; exit(); } if (!isset($_POST['body'])) { echo "read=t-אנא הקש את גוף הודעת המייל=body,no,100,1,50,HebrewKeyboard,,,,,,,,&"; exit(); } $url = $_POST['url']; $recipient = $_POST['recipient']; $subject = $_POST['subject']; $body = $_POST['body']; $handle = curl_init(); $postData = array( 'recipient' => $recipient, 'subject' => $subject, 'body' => $body ); curl_setopt_array($handle, array( CURLOPT_URL => $url, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $postData, CURLOPT_RETURNTRANSFER => true, ) ); $data = curl_exec($handle); curl_close($handle); print echo "id_list_message=t-המייל נשלח בהצלחה.g-1-&"; exit(); ?>
-
לא בדקתי את כל הקוד אבל מלמעלה נראה שהוא שולח גם בעת ניתוק השיחה, ולכן מתקבל פעמיים קריאה לשלוח את המיילים.
הפתרון האפשרי הוא או להגדיר בשלוחת הAPI שלא ישלח כשמתנתק השיחה או להגדיר בAPI שאם נשלח ערך של ניתוק השיחה שיצא מהקוד מבלי לבצע כלום -