Image created by - www.freepik.comสำหรับใครที่กักตัวอยู่บ้านเพราะสถานการณ์ COVID-19 แล้วรู้สึกเบื่อ อยากลองทำอะไรใหม่ๆ หรือหาความรู้ใหม่ๆ ผมขออนุญาตแนะนำให้รู้จักกับ "Programming" หรือการเขียนโปรแกรมนั้นเองครับ ซึ่งสิ่งที่ผมจะแนะนำนั้นก็คือ การเขียนโค้ดสำหรับการส่งอีเมลด้วยตนเองครับผม อาจฟังดูเหมือนยาก แต่ไม่ยากอย่างที่คิดครับ โดยผมมุ่งเน้นให้คนที่ไม่เคยเขียนโค้ดมาก่อน ก็สามารถเขียนตามได้ครับ มาเริ่มกันเลยดีกว่าครับ !"ก่อนอื่นเตรียม Environment สำหรับการเขียนโค้ดกันก่อนนะครับ"โปรแกรม Visual Studio Code Node.jsบัญชี https://sendgrid.com/ติดตั้ง Environment กันต่อครับVisual Studio Codeก่อนอื่นให้เข้าไปที่ https://code.visualstudio.com/download เพื่อทำการดาวน์โหลดตัวติดตั้งโปรแกรมมาก่อนครับImage by - https://code.visualstudio.com/downloadจากนั้น ให้ทำการกดติดตั้ง โดยเลือกค่าตามที่ระบบ setup ให้ตั้งแต่แรกหรือที่เรามักเรียกกันว่า "กด Next อย่างเดียวเลย" นั้นเองครับผม 55555Node.jsต่อมา เราจะทำการติดตั้ง tool หรือเครื่องมือที่ได้รับความนิยมในการ run javascript ซึ่งเป็นภาษาที่เราจะเขียนนั้นเองครับวิธีการติดตั้งนั้นให้เข้ามาที่เว็บ https://nodejs.org/en/ นี้ครับผม Image by - https://nodejs.org/enสามารถเลือกดาวน์โหลดทั้ง 2 เวอร์ชั่นเลยนะครับ แต่ว่าให้โหลดมาแค่อันเดียวก็พอครับ ใช้งานได้เหมือนกันครับ วิธีการติดตั้งก็เหมือนกับของ Visual Studio Code เลยครับsendgrid.comเราจะสมัครบัญชี เพื่อเรียกใช้ API สำหรับโปรเจ็คนี้กันนะครับ โดยเข้า https://signup.sendgrid.com/ จากนั้นสามารถกรอกข้อมูลตามขั้นตอนได้เลยครับ เมื่อสมัครเสร็จเรียบร้อยแล้วให้ทำการเข้าสู่ระบบได้เลยครับทำการยืนยันตัวตนเมื่อเข้าหน้าเว็บไซต์ แล้วให้เราทำการยืนยันตนเอง หรือ Email ของผู้ส่ง ได้ในหน้า Settings - Sender Authenticationแล้วกดปุ่ม Get started ในช่องของ Verify an Address ได้เลยครับImage by - https://sendgrid.com/เมื่อเรากรอกข้อมูลยืนยันเสร็จเรียบร้อย ให้เราเข้าไปที่ Email ที่เรากำหนดไว้ จะมี Email สำหรับยืนยันตัวตนแจ้งเตือนเข้ามา ให้เราเข้าไปทำการกดปุ่มยืนยันได้เลยครับหากเรายืนยันสถานะเรียบร้อยแล้ว ช่อง Verified จะถูกเปลี่ยนเป็นเครื่องหมายถูกต้องครับผมImage by - https://sendgrid.com/setup เพื่อรับค่า API มาใช้เข้าเว็บไซต์ sendgrid ครับเข้าเมนู Email API -> Integration Guide -> เลือก Web API ครับImage by - https://sendgrid.com/เลือกเมนู Node.js ตามโปรเจ็คที่เราใช้งานนะครับImage by - https://sendgrid.com/ทำการตั้งชื่อ API Key ครับ ในที่นี่จะตั้งเป็นชื่อว่า Send Email App แล้วกดปุ่ม Create Key ครับหลังจากนั้นจากได้ API Key ครับ ให้เก็บค่านี้ไว้ก่อนนะครับImage by - https://sendgrid.com/เริ่มทำการเขียนโค้ดกันเลยดีกว่าทำการสร้างโฟลเดอร์ว่างไว้ในคอมพิวเตอร์ สำหรับเก็บโค้ดของเราครับ แล้วเปิดโฟลเดอร์ผ่านโปรแกรม Visual Studio Code ครับโดยคลิกที่เมนู File - Open Folder แล้วเลือกโฟลเดอร์ที่เราสร้างไว้แต่แรกนะครับImage by writerเปิด Terminal ที่อยู่ในเมนูด้านบนแล้วเลือกเมนู new Terminal แล้วพิมพ์ npm init -y เพื่อสร้างไฟล์ package.json สำหรับโปรเจ็คของเรานะครับImage by writerจากนั้นจะได้ไฟล์ package.json ขึ้นมา แล้วทำการสร้างไฟล์ใหม่เพิ่ม โดยใช้ชื่อว่า email.js สำหรับเขียนโค้ดนะครับImage by writerทำการติดตั้งตัว sendgrid โดยพิมพ์คำสั่งใน Terminal ดังนี้ครับ : npm install --save @sendgrid/mail หากติดตั้งเสร็จเรียบร้อยแล้ว จะได้เจ้า @sendgrid/mail เพิ่มมาในตัวของ dependencies ครับ เนื่องจากว่าเราเพิ่ม option --save เข้าไปตอนติดตั้งซึ่งจะช่วยให้การทำงานเป็นทีมได้ง่ายขึ้นครับ เพราะเวลาคนอื่นรับโค้ดเราไปเขียนต่อ สามารถติดตั้งโมดูลทั้งหมดได้เลยผ่านคำสั่ง npm install ครับ (ในกรณีส่งงานให้ทีม จะไม่ทำการส่งไฟล์ node_modules เนื่องจากมีขนาดใหญ่เกินไป)Image by writerทำการอัญเชิญโมดูลที่เราทำการติดตั้งไปเมื่อสักครู่นี้นะครับImage by writerบรรทัดที่ 1: คือการนำโมดูลที่เราติดตั้งมาใส่ในตัวแปร sgMail นะครับ เปรียบให้เห็นภาพง่ายๆ sgMail ก็คือกระเป๋าว่างๆ แล้วนำของที่เราจะใช้งานมาใส่ ซึ่งในที่นี่ของนั้นก็คือ @sendgrid/mail นั้นเองครับบรรทัดที่ 2: คือการกำหนดตัวแปรสำหรับเก็บค่า API (Application Programming Interface) เพื่อเอาไปใช้ต่อ ซึ่งค่านี้จะได้รับตอน Setup ในเว็บของ sendgrid ตั้งแต่แรกนั้นเองนะครับบรรทัดที่ 3: คือการกำหนดค่า API ของเราเองเพื่อใช้งานโปรเจ็คนี้ครับ หากค่า API ไม่ถูกต้องก็จะไม่สามารถใช้งานได้ครับ*เราสามารถเขียนรวมบรรทัดที่ 2 และ 3 เข้าด้วยกันได้ แต่สาเหตุที่เขียนแบบนี้ก็เพื่อให้สามารถปรับปรุงหรือแก้ไขโค้ดได้ง่ายขึ้นครับให้เรานำค่า API Key ที่ setup ไว้ในตอนแรกมาแทนคำว่า API_KEY โดยวางตัวแปรภายใต้เครื่องหมาย ' ' นี้นะครับImage by writerเขียนโค้ดเพิ่มตามนี้ครับImage by writerบรรทัดที่ 4: จะเป็นการสร้างก้อนข้อมูลหนึ่งขึ้นมาซึ่งประกอบไปด้วย to, from, subject, text ครับto: คือ Email ของคนที่เราต้องการส่งถึงนะครับfrom: คือ Email ผู้ส่ง หรือ Email ที่เราทำการ Verify ไปเมื่อก่อนหน้านั้นเองครับsubject: คือหัวข้อ Email ของเราเมื่อส่งไปครับtext: คือเนื้อหาข้อความข้างในที่เราส่งไปครับเรียกใช้ method send เพื่อทำการส่ง Email ครับImage by writerบรรทัดนี้จะเป็นการเรียกใช้ send method ครับ โดยมี message ที่อยู่ในวงเล็บเป็นค่าที่เรากำหนดไว้เมื่อขั้นตอนก่อนหน้าครับ ซึ่ง .then() และ .catch() ข้างหลัง จะเป็นการกำหนดเงื่อนไขครับว่าหากโค้ดรันสำเร็จ จะเข้าสู่เงื่อนไขของ .then() ครับหากไม่สำเร็จ โค้ดจะเข้าสู่เงื่อนไขของ .catch() ครับ จากนั้น console.log ที่อยู่ภายใต้เครื่องหมาย { console.log("...") } จะทำการแสดงข้อความที่เรากำหนดออกมาใน Terminal ครับรันคำสั่ง node email.js ขั้นตอนนี้ควรเช็ค path ให้ถูกต้องก่อนนะครับ โดยจะต้องรันคำสั่งต่อท้ายจาก folder ที่เราสร้างเท่านั้น ในที่นี้ก็คือ Email ครับImage by writerข้อความแสดงสถานะว่าส่งเรียบร้อยแล้วนะครับ7. เข้าเว็บไซต์ sendgrid ที่เราสร้าง API ไว้ตอนต้น แล้วเลื่อนลงมาล่างสุด จากนั้นกดเมนู I've integrated the code above แล้วกดปุ่ม Verify Integration ครับImage by - https://sendgrid.com/ทำการยืนยันImage by - https://sendgrid.com/ขึ้นหน้าจอยืนยันผลการทำงานImage by - https://sendgrid.com/แถ่นแทนแท๊น !!! ส่ง Email เรียบร้อยแล้วครับImage by - https://www.google.com/เช็ค Email กันหน่อยImage by - https://www.google.com/แท็บสีเหลืองคือข้อความ warning จาก gmail ปกตินะครับเนื่องจากว่าเราส่ง Email เข้าหาตัวเองแล้ว gmail ไม่สามารถตรวจสอบได้ครับถ้าหากเราส่งข้อความหาเพื่อนหรือบุคคลอื่น ข้อความจะแสดงผลตามปกติครับผม โดยวิธีการเปลี่ยนก็คือ เข้าไปแก้ใน ส่วนของ message ที่เรากำหนดไว้ในส่วนของ to: นะครับผม ส่วน from: จะต้องเป็น Email ที่ทำการยืนยันก่อนครับผมImage by - https://www.google.com/นี่คือโค้ดทั้งหมดนะครับImage by writerเห็นไหมล่ะครับ ว่าการเขียนโค้ดนั้นไม่ได้ยากอย่างที่เราคิดครับ แต่ยากกว่าที่เราคิดครับ แฮ่ 5555 เพียงเท่านี้เราก็สามารถส่งข้อความหาคนอื่นได้แบบไม่เหมือนใครแล้วครับผม อาจจะดูเป็นการส่ง Email สำหรับคนทั่วไปที่แปลกไปหน่อย แต่ก็ช่วยให้คนที่ไม่เคยได้รู้จักกับการเขียนโปรแกรมเลย ได้รู้จักกับการเขียนโค้ดขึ้นมาบ้างครับ โดยบทความนี้ผมค่อนข้างพยายามอธิบายให้เข้าใจง่ายมากที่สุด หากผิดพลาดประการใดต้องขออภัยมา ณ ที่นี้ด้วยครับผม