چگونه با گوگل اسکریپت، ایمیل بفرستیم؟
گوگل اسکریپت یک ابزار قدرتمند است، با استفاده از ابزارهای خودکار تعبیه شده در گوگل نظیر گوگلداک و گوگلشیت میتوانید از گوگل بیشترین بهره را ببرید.
فرض کنید شما کارمند یک مجموعهای هستید و باید به صورت ماهانه گزارشی شامل محاسبات را برای رئیس خود بفرستید. یا اینکه تصور کنید شما مدیری هستید و وظیفه دارید برای افراد مختلف اطلاعات و دادههای متفاوتی را ارسال کنید. گوگل اسکریپت این قابلیت را دارد که تمام این کارها و حتی امور بیشتری را به صورت خودکار برای شما انجام دهد. با کمی تلاش دیگر لازم نخواهد بود ایمیلهای گزارش و اطلاعات خود را دستی ارسال کنید، گوگل اسکریپت میتواند دستیار شخصی شما برای انجام بیشتر کارهایتان باشد.
صفحه شخصی خود را برای ارسال ایمیل آماده کنید
اولین قدم برای استفاده از گوگل اسکریپت استفاده از گوگل شیت برای ارسال ایمیلهایتان است. ابتدا نیاز دارید یک صفحه شامل اسم و آدرس ایمیل تمام افراد و پیامی که برای هر کدام لازم دارید را آماده کنید.
به عنوان مثال، برای شروع با ایجاد یک صفحه چند منظوره شروع میکنیم که بصورت اتوماتیک تمام مقالههای منتشر شده را از گوگل آنالیتیک به صورت ماهانه ذخیره میکند. سپس یک صفحه دیگر برای تمام نویسندهها ایجاد کنید که مقالههای هر نویسنده را لیست میکند. هدف ارسال ایمیلی به هر نویسنده شامل لیست مقالههای آنها است. برای شروع، یک ایمیل خاص آماده کنید. برای این کار در صفحه چند منظورهای که ایجاد کردهاید یک صفحه جدید با اسم «ارسال ایمیل» درست کنید.
در صفحه جدیدی که برای ارسال ایمیل ایجاد کردید، نیاز به یک سرتیتر خواهید داشت. در این صفحه گسترده، هر ردیف به عنوان یک ایمیل محسوب میشود که ارسال خواهد شد. در ردیفهای این صفحه، یک ردیف را به اسامی افراد اختصاص میدهیم، ردیف بعدی به آدرس ایمیل آنها، و ردیف دیگر برای متن ایمیل اختصاص میدهیم.
میتوانید یک ایمیل با هر اندازهای از متن که نیاز دارید بسازید، برای این کار در هر ستون اطلاعات ثابت و متغییر را بنویسید.
همانطور که در عکس بالا میبینید، اطلاعات ثابت در سلولهای مشخص تایپ شده است. این متنها ماه به ماه تغییر نخواهند کرد. این متنها قسمتی از ایمیل ارسالی است که تغییر نخواهد کرد. برای اطلاعاتی که در هر ماه تغییر خواهند کرد، یک تابع تعیین کنید، تا اطلاعات را از منبع مورد نظر در صفحههای دیگر وارد این قسمت کند.
ایده این روش بر این اساس شکل گرفت تا شما بتوانید برای ارسال خودکار گزارشهای خود، هر زمان که این صفحه را باز میکنید یک منو در اختیار داشته باشید و بتوانید با تغییر موارد مورد نیاز گزارشهای خود را به آسانی ارسال کنید. در ادامه خواهید دید که چطور میتوانید این صفحه را شخصیسازی کنید. بعد از ایجاد این صفحه گسترده، در نهایت باید به صورت زیر دیده شود.
صفحه ارسال ایمیل شما آماده شده است؛ تنها لازم است متن ایمیل خود را بنویسید.
نوشتن متن ایمیل خودکار
برای نوشتن متن ایمیل، از اسکریپت ادیتور کمک بگیرید. در منوی نوار ابزار اسکریپت ادیتور را باز کنید.
اسکریپت ادیتور را به صورت تصویر زیر خواهید دید. در قسمت راست بالای منو میتوانید یک تابع جدید برای ارسال ایمیل ایجاد کنید.
فقط نیاز دارید متن مورد نظر خود را در بخش متن وارد کنید.
1function sendArticleCountEmails() {
2 var ss = SpreadsheetApp.getActiveSpreadsheet();
3 ss.setActiveSheet(ss.getSheetByName("Send-Emails"));
4 var sheet = SpreadsheetApp.getActiveSheet();
5 var dataRange = sheet.getRange("A2:F4");
6 var data = dataRange.getValues();
7 for (i in data) {
8 var rowData = data[i];
9 var emailAddress = rowData[1];
10 var recipient = rowData[0];
11 var message1 = rowData[2];
12 var message2 = rowData[3];
13 var parameter2 = rowData[4];
14 var message3 = rowData[5];
15 var message = 'Dear ' + recipient + ',\n\n' + message1 + ' ' + message2 + ' ' + parameter2 + ' ' + message3;
16 var subject = 'Your article count for this month';
17 MailApp.sendEmail(emailAddress, subject, message);
18 }
19}
شاید این متنها به نظر شما کمی پیچیده به نظر برسد، اما اینطور نیست. در بخش زیر متوجه خواهید شد که هر خط با چه مفهومی نوشته میشود.
کدهای دستوری برای نوشتن متن
برای اینکه این تابع به درستی کار کند، باید از درستی ایمیلهای ذخیره شده اطمینان حاصل کنید. همچنین مطمئن شوید که صفحهای که ایمیلها را در آن ذخیره کردهاید فعال است. دو خط زیر برای ایمیلها است.
تمام دادهها از این صفحه استخراج میشود. ()sheet.GetRange این روش به شما این امکان را میدهد تا هر اطلاعاتی که لازم دارید را از صفحه مورد نظر و سلول دلخواهتان وارد متن کنید. ()dataRange.getValues این دستور مقادیری که نیاز دارید را در قالب یک آرایه دو بعدی به عنوان اطلاعات در متن شما ذخیره میکند.
حالا که همه دادههای مورد نیازمان را در یک آرایه داریم، میتوانیم از طریق یک (Loop) آنها را مرتب کنیم. هر عنصر در هر آرایه یک سطر است که یک آرایه یک بعدی شامل اطلاعات یک ستون خواهد بود. برای ارجاع دادن هر ستون میتوانید از شماره آن استفاده کنید.
همانطور که در تصویر بالا مشاهده میکنید، عناصر ستون را به صورت یک آرایه یک بعدی به نام (rowData) نوشتیم و بعد از آن ستون دوم (برای به دست آوردن آدرس ایمیل) با ارجاع به [1]rowData که عنصر دوم آرایههای مورد نیاز است. (اولین عنصر آرایه همیشه صفر است)
قدم بعدی این است که در این تابع تمام بخشهایی که متن اصلی ایمیل را تشکیل میدهند کنار هم قرار دهیم. نکته خوب این است که میتوانید برای مرتب کردن پاراگرافهای متن اصلی از دستور (n/) استفاده کنید، که مانند یک اینتر عمل میکند. در اینجا شیوه الحاق کردن متن به یکدیگر را خواهیم دید.
با استفاده از (+) میتوانید متنها را به هم الحاق کنید. در هر پیام میتوانید یک متن ثابت را وارد کنید. در واقع در این متن با اضافه کردن اسم افراد به صورت متغییر و «عزیز» به عنوان متن ثابت در تمام ایمیلها ارسال خواهد شد.
سپس دو بار دستور (n/) را به انتهای خط اضافه میکنید. در واقع بعد از دو خط میتوانید متن اصلی ایمیل خود را آماده کنید. حالا قسمت اول متن ایمیل را بیاورید، یک فاصله و سپس بخش دوم متن ایمیل را اضافه کنید، یک فاصله و بخش متغییر را که به صورت گزارش ماهانه تغییر میکند از سلول و صفحه مورد نظر وارد کنید. و در نهایت متن پایانی ایمیل را وارد کنید.
محدودیتی در اضافه کردن متن نخواهید داشت و میتوانید متنهای متغییر و ثابت را از هر صفحهای که نیاز دارید به متن اصلی ایمیل اضافه کنید. چند خط پایانی برای نوشتن موضوع ایمیل است که باز هم میتوانید از صفحههای دیگر و سلولهای دیگر برای وارد کردن موضوع ایمیل استفاده کنید، و در نهایت (sendEmail) برای پایان ایمیل.
فعال کردن متن ایمیل
به قسمت اسکریپت ادیتور برگردید و دنبال تابع (OnOpen) بگردید. با فعال کردن این تابع تعدادی کد داخل براکت، به متن شما اضافه خواهد شد. به انتهای کدهای نوشته شده بروید و خطهای زیر را به آن اضافه کنید.
مطمئن شوید نام دقیق تابع را در قسمت مورد نظر وارد کنید. به این ترتیب یک منوی سفارشی به صفحه شما اضافه خواهد شد که هر زمان صفحه را باز کنید، این منو را میبینید.
حال هر زمان که صفحه گسترده خود را برای ارسال گزارشهای ماهانه باز کنید، تنها کاری که نیاز دارید کلیک کردن بر روی منوی ارسال ایمیل است، تا تمام گزارشهای ماهانه شما بر اساس اطلاعات ثابت و متغییری که از پیش تعیین کردهاید ارسال شود. کاری که برای شما ممکن بود بیش از چند ساعت زمان ببرد، تنها با آمادهسازی این صفحه با یک کلیک قابل انجام است.
گوگل اسکریپت،صرفهجویی در زمان
این تنها یک مثال از هزاران روشی بود که شما را قادر میسازد با استفاده از روشهای از پیش تعیین شده گوگل اسکریپت، به صورت اتوماتیک کارهای خود را جلو ببرید. تنها قسمت دشوار، شاید بخش آماده کردن کدها است، که زمان بیشتری میبرد. اما بخش کدها هم نسبت به سایر کارهایی که برای ارسال گزارشهای ماهانه باید انجام میدادید، زمان کمتری نیاز دارد. حال فکر کنید چه کارهای مهمتری میتوانید از طریق گوگل اسکریپت انجام دهید.
اگر به این مقاله علاقهمند بودهاید، شاید آموزشهای زیر نیز برای شما جذاب و مفید باشد:
- تفاوتهای الکسا با گوگل آنالیتیکس
- آموزش استفاده از Google Analytics
- نمایش پستهای مرتبط در وردپرس با استفاده از محتوای تطبیق یافتهی گوگل
--
سلام. روشی برای ارسال اس ام اس یا ارسال پیام روز واتساپ هم هست؟ برای مثال وقتی خانه ای رو جدول پر میشه فورا به چند نفر پیامی فرستاده بشه. ممنون میشم اگر راهی هست, راهنمایی کنید.