Contents

วิธีทำให้อีเมล Outlook เป็นแบบอัตโนมัติด้วย Python

Python มีประโยชน์มากมายในด้านระบบอัตโนมัติ และคุณสามารถใช้ฟังก์ชันต่างๆ มากมายได้โดยใช้โค้ดเพียงไม่กี่บรรทัด ภาษานี้ได้รับความนิยมในหลายโดเมน ตั้งแต่การวิเคราะห์ข้อมูลไปจนถึงการดูแลระบบ

Outlook เป็นแอปพลิเคชันอีเมลที่ใช้กันอย่างแพร่หลาย และการใช้ความสามารถของ Python เพื่อทำให้ Outlook เป็นอัตโนมัติทำให้ผู้ใช้สามารถส่งข้อความได้อย่างมีประสิทธิภาพโดยใช้ความพยายามน้อยที่สุด

เพื่อที่จะรับความรู้เกี่ยวกับกระบวนการส่งข้อความอัตโนมัติผ่านอีเมลโดยใช้แอปพลิเคชัน Microsoft Outlook ใน Python คุณจำเป็นต้องอ่านต่อ

ปฏิบัติตามข้อกำหนดเบื้องต้นบางประการ

เพื่อเริ่มต้นกระบวนการ คุณจะต้องได้รับและตั้งค่าส่วนประกอบซอฟต์แวร์ที่จำเป็น ซึ่งอาจเกี่ยวข้องกับการดาวน์โหลดและติดตั้งแอปพลิเคชันหรือโมดูลเฉพาะที่จำเป็นสำหรับงานที่ทำอยู่ เมื่อติดตั้งสิ่งเหล่านี้แล้ว คุณสามารถดำเนินการกำหนดค่าตามความต้องการของคุณและรวมเข้ากับขั้นตอนการทำงานของคุณได้ตามความเหมาะสม

Microsoft Outlook เป็นโปรแกรมรับส่งเมลยอดนิยมที่ต้องติดตั้งบนคอมพิวเตอร์ของคุณเพื่อให้ทำงานได้อย่างถูกต้อง สามารถใช้ร่วมกับผู้ให้บริการอีเมลต่างๆ รวมถึงบัญชี Gmail และอื่นๆ

การใช้โมดูล win32com.client ช่วยให้สามารถโต้ตอบกับแอปพลิเคชันต่างๆ ของ Microsoft ผ่านทาง Python ได้อย่างราบรื่น ในบรรดาแอปพลิเคชันเหล่านี้ Microsoft Outlook เป็นตัวอย่างที่โดดเด่นที่จำเป็นต้องมีการรวมไลบรารีนี้เพื่อสร้างการเชื่อมต่อกับ Outlook Exchange Server

กำลังติดตั้ง win32com.client

การใช้ win32com.client ถือเป็นองค์ประกอบที่สำคัญภายในสคริปต์นี้ ซึ่งอำนวยความสะดวกในการทำงานร่วมกันอย่างราบรื่นระหว่าง Microsoft Outlook และ Python โดยใช้ประโยชน์จากไลบรารีที่ครอบคลุมซึ่งช่วยให้สามารถสร้างการสื่อสารที่แข็งแกร่งระหว่างทั้งสองแพลตฟอร์มได้

ตรวจสอบเวอร์ชัน win32com.client

ก่อนการติดตั้ง เราอาจตรวจสอบได้ว่าโมดูล win32com ได้รับการติดตั้งไว้ล่วงหน้าในระบบหรือไม่ ในบางกรณี การวนซ้ำ Integrated Development Environment (IDE) เฉพาะจะรวมแพ็คเกจนี้เป็นส่วนประกอบมาตรฐาน สามารถยืนยันความพร้อมใช้งานของโมดูล win32com ได้โดยใช้คำสั่งต่อไปนี้

 python -m pip show pywin32 

ในการแก้ไขข้อผิดพลาด “‘pip’ไม่ได้รับการยอมรับว่าเป็นคำสั่งภายในหรือภายนอก” อาจจำเป็นต้องติดตั้ง pip บนระบบปฏิบัติการของคุณหากยังไม่พร้อมใช้งาน ซึ่งสามารถทำได้โดยการดาวน์โหลดและเรียกใช้ตัวติดตั้งที่เหมาะสมสำหรับ Windows, macOS หรือ Linux จากเว็บไซต์ Python อย่างเป็นทางการ หรือใช้ตัวจัดการแพ็คเกจ เช่น Homebrew (สำหรับ macOS) หรือ APT/APT-GET (สำหรับ Ubuntu)

หลังจากดำเนินการตามคำสั่งที่กล่าวถึงก่อนหน้านี้ ในกรณีที่คุณแสดงหมายเลขรุ่น ก็ไม่จำเป็นต้องมีการติดตั้งเพิ่มเติม เนื่องจากมีการติดตั้งไว้ในระบบของคุณแล้ว

/th/images/verify-installation-setup-in-terminal-window-1.jpg

ในกรณีที่คุณพบข้อความแสดงข้อผิดพลาดที่ระบุว่าส่วนประกอบที่จำเป็นหายไป คุณอาจจำเป็นต้องติดตั้งไลบรารี “win32com” บนอุปกรณ์ของคุณเพื่อแก้ไขปัญหา

 'pywin32' is not recognized as an internal or external command, operable program, or batch file. 

การติดตั้งไลบรารี win32com

โปรดเปิดเทอร์มินัลหรือหน้าต่างพรอมต์คำสั่ง นำทางไปยังไดเร็กทอรีที่ต้องการ และป้อนคำสั่ง pip ที่เหมาะสมเพื่อติดตั้งไลบรารี่ที่ต้องการ

 python -m pip install pywin32 

/th/images/install-pywin32com-on-windows-3.jpg

โปรดปฏิบัติตามคำแนะนำบนหน้าจอเพื่อสิ้นสุดกระบวนการติดตั้ง เพื่อยืนยันว่าติดตั้ง win32com สำเร็จแล้ว คุณสามารถใช้คำสั่ง show หลังจากติดตั้งเสร็จสิ้น

 python -m pip show pywin32 

การส่งอีเมลจาก Python โดยใช้ Outlook

Outlook เป็นไคลเอนต์อีเมลเก่าแก่และแพร่หลายซึ่งครองตำแหน่งสำคัญในบรรดาแอปพลิเคชันอีเมลอันดับต้น ๆ โดยได้รับความนิยมเป็นอันดับสองรองจาก Gmail และ Yahoo ในแง่ของความนิยม เป็นที่น่าสังเกตว่า Python นำเสนอการผสานรวมกับ Outlook ได้อย่างราบรื่น ทำให้ผู้ใช้สามารถจัดการการติดต่อทางอีเมลได้อย่างง่ายดายจากทุกที่

หลังจากปฏิบัติตามข้อกำหนดเบื้องต้นข้างต้นแล้ว ก็ถึงเวลาเริ่มต้นการเขียนโค้ดสำหรับการส่งอีเมลอัตโนมัติผ่าน Outlook โดยใช้ Python เพื่อเริ่มต้นกระบวนการนี้ เราจะต้องรวมไลบรารี win32com.client ผ่านทางคำสั่งนำเข้า

 import win32com.client 

ด้วยการใช้ Python คุณสามารถสร้างการเชื่อมต่อกับแพลตฟอร์มอีเมลของ Microsoft Outlook ได้แล้ว

 ol = win32com.client.Dispatch('Outlook.Application') 

ที่ไหน:

⭐เก็บการอ้างอิงการเชื่อมต่อ

ไลบรารีไคลเอนต์ Win32COM ทำหน้าที่เป็นอินเทอร์เฟซสำหรับอำนวยความสะดวกในการสื่อสารระหว่าง Python และ Microsoft Outlook ทำให้ผู้ใช้สามารถใช้ประโยชน์จากฟังก์ชันของทั้งสองแพลตฟอร์มควบคู่กัน

ฟังก์ชันการจัดส่งทำหน้าที่สร้างการเชื่อมต่อผ่านการนำไปใช้งาน

ออบเจ็กต์ Outlook.Application แสดงถึงแอปพลิเคชันที่ใช้สร้างการเชื่อมต่อกับ Microsoft Outlook และทำหน้าที่เป็นองค์ประกอบพื้นฐานสำหรับการทำงานกับข้อความอีเมลใน Extensis Mailer

/th/images/import-win32-library.jpg

เพื่อให้ Python อัปเดตขอบเขตของข้อความอีเมลที่ระบุได้อย่างมีประสิทธิภาพ การกำหนดขนาดของข้อความดังกล่าวจึงเป็นสิ่งสำคัญ ซึ่งจะช่วยให้โปรแกรมระบุได้อย่างแม่นยำว่าควรแก้ไขข้อมูลในส่วนใด

 # size of the new email
olmailitem = 0x0 

ที่ไหน:

มีการแนะนำตัวแปรใหม่ ซึ่งกำหนดให้เป็น"olmailitem"ซึ่งจะใช้ในการจัดเก็บข้อมูลมิติ

มิติของขีปนาวุธอิเล็กทรอนิกส์ที่สร้างขึ้นใหม่ภายในพื้นที่เก็บข้อมูลภายในของโปรแกรม Python นั้นเป็นนามธรรมที่แสดงด้วยสัญลักษณ์'0x0’

เมื่อกำหนดพารามิเตอร์มิติของข้อความอีเมลใน Python ฟังก์ชันจะสร้างรายการอีเมลใหม่โดยอัตโนมัติ

 newmail = ol.CreateItem(olmailitem) 

ที่ไหน:

มีการแนะนำตัวแปรใหม่ชื่อ"newmail"ซึ่งทำหน้าที่เป็นพื้นที่เก็บข้อมูลสำหรับการอ้างอิงอีเมลล่าสุด

รหัสที่ให้มาแสดงถึงการอ้างอิงถึงการผสานรวมที่มีอยู่แล้วระหว่าง Python และ Microsoft Outlook เพื่อให้สามารถสื่อสารระหว่างทั้งสองแพลตฟอร์มได้

คำแนะนำในการสร้างข้อความอีเมลที่กำลังดำเนินอยู่เรียกว่า"CreateItem (olmailitem)“ซึ่งดำเนินการโดยใช้คำสั่ง

การรวมหัวเรื่องที่ชัดเจนเป็นสิ่งจำเป็นสำหรับข้อความอิเล็กทรอนิกส์ทุกข้อความ และอาจระบุโดยทางโปรแกรมเพื่อให้แอปพลิเคชัน Python ต่อท้ายโดยอัตโนมัติก่อนที่จะส่งการโต้ตอบไปยังผู้รับที่ต้องการ

 newmail.Subject = 'Testing Mail' 

ที่ไหน:

ตัวแปร newmail ทำหน้าที่เป็นกลไกในการจัดเก็บข้อมูลสำหรับการอ้างอิงข้อความอีเมลที่ได้รับใหม่

เรื่องของอีเมลคือหัวข้อหรือธีมที่ทำหน้าที่เป็นจุดเน้นในการสื่อสาร และอาจปรับแต่งได้ตามความต้องการ

คุณอาจรวมผู้รับที่กำหนดโดยการรวมไว้ในช่องอีเมล"ถึง"และ"CC"ดังที่แสดงด้านล่าง:

 newmail.To = '[email protected]'
newmail.CC = '[email protected]' 

ที่ไหน:

⭐ถึง: ที่อยู่อีเมลของผู้รับหลัก

⭐CC: คัดลอกผู้รับอีเมลแล้ว

ในทำนองเดียวกัน อาจมีฟิลด์ blind carbon copy (BCC) โดยใช้คำประกาศที่ตามมาซึ่งแนบท้ายคำสั่ง cc เมื่อส่งจดหมายโดยไม่ระบุชื่อไปยังผู้รับที่ต้องการทั้งหมด

 newmail.BCC = '[email protected]' 

ความสามารถของ Python ในการโต้ตอบกับ Microsoft Outlook ช่วยให้สามารถรวมฟังก์ชันต่างๆ ได้อย่างราบรื่นในขณะที่ใช้ภาษาสคริปต์ ซึ่งหมายความว่าแม้ในขณะที่ใช้ Python เพื่อจัดการการสื่อสารทางอีเมล การส่งข้อความไปยังผู้รับหลายคนยังคงเป็นไปได้โดยการใส่เครื่องหมายอัฒภาคเป็นตัวคั่นในช่อง"ถึง”,“สำเนาถึง"หรือ"สำเนาลับถึง”

เมื่อระบุผู้รับที่ต้องการและหัวข้อการติดต่อของคุณแล้ว คุณอาจดำเนินการเขียนเนื้อหาข้อความภายในเนื้อหาของรายการอีเมลที่สร้างขึ้นใหม่ ซึ่งจะถูกส่งไปยังผู้รับที่กำหนดในภายหลังผ่านทาง"ถึง"และ"ซีซี” ช่อง

 newmail.Body= 'Hello, this is a test email to showcase how to send emails from Python and Outlook.' 

หากต้องการรวมไฟล์เสริมเข้ากับข้อความอิเล็กทรอนิกส์ของคุณ ให้ใช้คำแนะนำต่อไปนี้:

 attach = 'C:\\Users\\admin\\Desktop\\Python\\Sample.xlsx'
newmail.Attachments.Add(attach) 

อีเมลนี้เตรียมไว้สำหรับการจัดส่งและนำเสนอทางเลือกสองทางที่ใช้ได้ หนึ่งอาจเลือกที่จะอ่านภาพรวมของขีปนาวุธของตนล่วงหน้าก่อนที่จะส่งต่อไปยังผู้รับที่ต้องการโดยใช้คำสั่ง"แสดง"ในลักษณะที่อธิบายไว้ด้านล่าง:

 newmail.Display() 

อีกทางหนึ่ง สำหรับผู้ที่ไม่ต้องการตรวจดูอีเมลก่อนส่งและเลือกให้จัดส่งทันที อาจใช้คำสั่ง Display()command withtheSend() แทนได้

 newmail.Send() 

การส่งอีเมลผ่านฟังก์ชัน Send() อาจเป็นเรื่องที่ท้าทาย เนื่องจากไม่ได้แสดงตัวอย่างเนื้อหาของข้อความเบื้องต้น จำเป็นอย่างยิ่งที่ต้องใช้ความระมัดระวังเมื่อใช้คุณสมบัตินี้ โดยเฉพาะสำหรับผู้ที่แก้ไขเนื้อหาอีเมลบ่อยครั้ง

นี่คือรหัสที่สมบูรณ์:

 import win32com.client
ol=win32com.client.Dispatch("outlook.application")
olmailitem=0x0 #size of the new email
newmail=ol.CreateItem(olmailitem)
newmail.Subject= 'Testing Mail'
newmail.To='[email protected]'
newmail.CC='[email protected]'
newmail.Body= 'Hello, this is a test email.'

# attach='C:\\Users\\admin\\Desktop\\Python\\Sample.xlsx'
# newmail.Attachments.Add(attach)

# To display the mail before sending it
# newmail.Display()

 newmail.Send() 

/th/images/test-email-in-outlook.jpg

เมื่อดำเนินการโค้ดสำเร็จแล้ว การส่งอีเมลอัตโนมัติควรตามมา หากมีปัญหาใดๆ เกิดขึ้นระหว่างกระบวนการส่งอีเมล อาจเป็นเพราะปัญหาการกำหนดค่าใน Outlook เมื่อต้องการเริ่มต้นแก้ไขปัญหานี้ ให้พิจารณาตรวจสอบและแก้ไขปัญหา Outlook ทั่วไปที่ทราบกันว่าทำให้เกิดปัญหาดังกล่าว

ประโยชน์ของการทำงานอัตโนมัติทางอีเมล Python

การใช้ Python เพื่อทำให้อีเมลของคุณเป็นอัตโนมัติ ไม่จำเป็นต้องเปิด Microsoft Outlook ทุกครั้งที่คุณต้องการเขียนข้อความ สำหรับผู้ที่ใช้ Python เป็นประจำในแต่ละวันแต่พบว่าการเข้าถึงโปรแกรมรับส่งเมลอย่างต่อเนื่องเป็นเรื่องที่น่าเบื่อ แนวทางนี้ถือเป็นทางเลือกที่สะดวก

แทนที่จะใช้เวลามากมายในการปฏิบัติหน้าที่ที่เกิดซ้ำ เราสามารถใช้ Python เพื่อสร้างการติดต่อทางอีเมลอัตโนมัติผ่านโค้ดจำนวนน้อยที่สุดได้อย่างมีประสิทธิภาพ