คำนำ
ด้วยการพัฒนาเครือข่ายคอมพิวเตอร์ เวลาในการส่งข้อมูลระหว่างผู้คนจึงสั้นลงอย่างมาก ไฟล์จำนวนมากถูกส่งในรูปแบบอีเมล โดยปกติแล้วผู้ที่เคยใช้คอมพิวเตอร์จะใช้อีเมลในการส่งข้อมูลไม่มากก็น้อย บทความนี้จะแนะนำวิธีใช้ Microsoft MAPI (Messaging application PROgram Interface) เพื่อออกแบบโปรแกรม Mail ขั้นแรก ใช้ MAPIsessioncontrol และ MAPIMessagecontrol ที่ได้รับจาก Visual Basic เพื่อออกแบบโปรแกรมส่งและรับจดหมาย จากนั้นใช้โปรแกรมอีเมลที่ได้รับจาก Microsoft Internet Explorer 3.0 เพื่อทดสอบความถูกต้องของการออกแบบโปรแกรม
ความรู้เบื้องต้นเกี่ยวกับ MAPI
อินเทอร์เฟซ MAPI คือชุดอินเทอร์เฟซการเขียนโปรแกรมที่ Microsoft จัดทำขึ้นสำหรับผู้ใช้ในการพัฒนาโปรแกรม Mail, Scheduling, Bulletinboard และการสื่อสาร เมื่อใช้ MAPI เพื่อออกแบบโปรแกรม คุณต้องสร้างเซสชันหนึ่งหรือหลายเซสชันระหว่างโปรแกรมและ MAPI ก่อน หลังจากสร้างเซสชันแล้ว โปรแกรมไคลเอ็นต์จะสามารถใช้ฟังก์ชันที่ MAPI จัดเตรียมไว้ได้
ฟังก์ชันของ MAPI ส่วนใหญ่แบ่งออกเป็นสามส่วน: AddressBooks, Transport และ MessageStore AddressBooks มีหน้าที่หลักในการตั้งค่าพารามิเตอร์ เช่น ประเภทอีเมล และโปรโตคอล ส่วน Transport มีหน้าที่รับผิดชอบในฟังก์ชันต่างๆ เช่น การส่งและรับไฟล์ MessageStore มีหน้าที่ในการประมวลผลข้อมูล เช่น การส่งและรับ
ต้องบอกว่าอินเทอร์เฟซ MAPI ดูน่ากลัว แต่นั่นไม่สำคัญ MAPISessioncontrol และ MAPIMessagecontrol ที่ได้รับจาก Visual Basic ได้รวมส่วนที่ซับซ้อนจำนวนมากไว้ในคุณสมบัติและฟังก์ชันง่ายๆ เราเพียงแต่ต้องตั้งค่าคุณสมบัติและฟังก์ชันบางอย่างอย่างง่ายๆ เพื่อเขียนโปรแกรมสำหรับการส่งและรับจดหมาย
ด้านล่างนี้ ผู้เขียนจะใช้ MAPIcontrol ของ Visual Basic เพื่อออกแบบโปรแกรมสำหรับการส่งและรับจดหมาย
ส่วนการส่งอีเมล
ขั้นตอนที่ 1: ตั้งค่าพารามิเตอร์การแลกเปลี่ยน
เข้าสู่ระบบ Exchange แล้วเลือก New Settings File บริการข้อมูลที่จำเป็นจะแสดงบนหน้าจอ เลือก InternetMail ตั้งชื่อไฟล์การตั้งค่าที่จะทดสอบ หน้าจอจะแสดง 2 ตัวเลือก คุณสามารถเลือกเชื่อมต่อผ่านโมเด็มหรือเครือข่ายได้ ผู้เขียนใช้สายอินเทอร์เน็ตโดยเฉพาะ ดังนั้นฉันจึงเลือกเครือข่าย หากคุณใช้การเรียกผ่านสายโทรศัพท์แบบ PPP เพื่อเชื่อมต่ออินเทอร์เน็ต คุณต้องเลือกโมเด็ม หลังจากเลือกเครือข่ายแล้ว Exchange จะขอให้เราป้อน ipaddress ของเซิร์ฟเวอร์อีเมล ที่อยู่ Mailserver ที่ฉันใช้อยู่คือ 202.96.128.111 และถูกกำหนดเป็นที่อยู่นี้ในโปรแกรมนี้ จากนั้นตั้งค่าโหมด Transformmessage ให้เป็นอัตโนมัติ เพื่อว่าเมื่อเราเชื่อมต่อกับ Mailserver ข้อมูลใหม่จะถูกดาวน์โหลดลงเครื่องโดยอัตโนมัติ
จบ.
จากนั้น ให้ตั้งค่าที่อยู่อีเมล ชื่อเต็ม รหัสผ่าน และเส้นทางการดาวน์โหลดที่คุณใช้ทีละขั้นตอน ซึ่งจะทำให้ Exchange เสร็จสมบูรณ์
การตั้งค่าพารามิเตอร์
ขั้นตอนที่ 2: การเขียนโปรแกรม
เลือก NewProject ในตัวเลือก File เพื่อสร้างโปรเจ็กต์ใหม่ ในเวลานี้ คุณจะเห็นตัวเลือกมากมายบนหน้าจอ เช่น ActiveXDocument.EXE, ActiveXDocument.DLL, ActiveX.EXE, ActiveXControl ฯลฯ... ในเวลานี้ คุณ ต้องเลือก Standard.EXE
ภายใต้โครงการ เลือกตัวเลือกแอตทริบิวต์คุณสมบัติ ภายใต้ตัวเลือกทั่วไป ให้เปลี่ยนชื่อโครงการเป็นการส่งอีเมล และเปลี่ยนชื่อฟอร์มและคำอธิบายเป็นการส่งอีเมล
เพิ่ม MAPImessagecontrol ลงในแบบฟอร์มบนหน้าจอและตั้งชื่อว่า MAPIm1; เพิ่ม MAPIsessioncontrol และตั้งชื่อว่า MAPIs1; เพิ่มตัวควบคุมกล่องข้อความสามรายการและตั้งชื่อเรื่อง เนื้อหา และ addr และเพิ่มป้ายกำกับที่ด้านหน้ากล่องข้อความทั้งสามกล่อง และเปลี่ยนคำอธิบายภาพเป็นหัวเรื่อง เนื้อหา และเพิ่มตามลำดับ
เพื่ออำนวยความสะดวกให้ผู้อ่านเข้าใจความสัมพันธ์ระหว่างกัน ตารางต่อไปนี้จึงอธิบาย:
(กล่องข้อความ)ชื่อ
หัวเรื่อง (ป้อนชื่อเรื่องของจดหมาย)
เนื้อหา (ป้อนเนื้อหาของจดหมาย)
addr (ป้อนที่อยู่ที่จะส่งจดหมาย)
-------------------------------------------------- -------------------------------------------------- ----------------------------------
(ฉลาก)คำบรรยายภาพ
หัวเรื่อง(ป้อนชื่อตัวอักษรพร้อมท์)
เนื้อหา (แจ้งให้ป้อนเนื้อหาของจดหมาย)
addr (ป้อนที่อยู่พร้อมท์สำหรับจดหมายที่จะส่ง)
ตั้งค่าคุณสมบัติต่างๆ ของ MAPIm1 ดังนี้:
ดาวน์โหลดเมล=TRUE
logoUI=จริง
เซสชั่นข่าว = FALSE
ชื่อผู้ใช้ = "ทดสอบ"
ที่นี่ downloadmail ถูกตั้งค่าเป็น TRUE เมื่อโปรแกรมและเมลเซิร์ฟเวอร์เชื่อมต่อกันเป็นครั้งแรก เมลใหม่จะถูกดาวน์โหลดไปยังปลายทางในเครื่อง ตั้งค่า logoUI เป็น TRUE จากนั้นเมื่อคุณป้อนชื่อโลโก้ไม่ถูกต้องในโปรแกรม ระบบจะแสดงกล่องข้อความเพื่อให้คุณป้อนชื่อที่ถูกต้อง เนื่องจากโปรแกรมนี้ใช้เพียงเซสชันเดียว เราจึงตั้งค่าเป็น FALSE แน่นอน! คุณยังสามารถตั้งค่าเป็น TRUE ได้หากคุณมีเซสชันที่ต้องสร้างจำนวนมาก สิ่งที่กรอกชื่อผู้ใช้คือชื่อของไฟล์การตั้งค่าที่เราเพิ่มใน Exchange หากไม่มีเนื้อหาระบบจะแสดงกล่องข้อความบางส่วนขอให้คุณป้อนไฟล์ เพิ่มสาม Buttoncontrols ให้กับแบบฟอร์มบนหน้าจอ เข้าสู่ระบบ ออกจากระบบ และส่ง และเปลี่ยนคำบรรยายเป็นการเข้าสู่ระบบ ออกจากระบบ และส่งตามลำดับ
(ปุ่ม)
ชื่อ คำบรรยายภาพ
เข้าสู่ระบบ (ดำเนินการคำสั่งเข้าสู่ระบบ) เข้าสู่ระบบ
ออกจากระบบ (ดำเนินการคำสั่งออกจากระบบ) ออกจากระบบ
send (ดำเนินการคำสั่งเมลขาออก) ส่ง
เพิ่มโค้ดโปรแกรมต่อไปนี้ใน logon_Click() การดำเนินการนี้ช่วยให้เราสามารถล็อกอินเข้าสู่เมลเซิร์ฟเวอร์ได้
MAPIS1.SignOn
MAPIM1.SessionID=MS1.SessionID
MsgBox "youridis" Str (MS1.SessionID)
MS1.SignOn เป็นการเข้าสู่ระบบ เมื่อเข้าสู่ระบบ เนื่องจากแอตทริบิวต์ downloadmail ของ MAPIm1control ได้รับการตั้งค่าเป็น TRUE คุณจะเห็นกล่องข้อความบนหน้าจอแสดงว่าระบบกำลังดาวน์โหลดเมล หลังจากเข้าสู่ระบบสำเร็จ ระบบจะส่งคืน ID เซสชันและกรอก ID ลงใน ID เซสชันของ MAPIM1 เพื่อให้สามารถใช้เซสชันนี้ในการส่งอีเมลได้
เพิ่มโค้ดโปรแกรมต่อไปนี้ใน logoff_Click() การกระทำนี้ทำให้เราออกจากเมลเซิร์ฟเวอร์
MAPIS1.SignOff
เพิ่มโค้ดโปรแกรมต่อไปนี้ใน send_Click() การดำเนินการนี้ช่วยให้เราสามารถส่งอีเมลได้
MAPIM1.เขียน
MAPIM1.RecipDisplayName=addr.text
MAPIM1.AddressResolveUI=จริง
MAPIM1.MsgSubject=หัวเรื่อง.ข้อความ
MAPIM1.MsgNoteText=content.text
MAPIM1.ส่ง
วัตถุประสงค์หลักของคำสั่งเขียน MsgBox "yousuccessful" คือเพื่อให้คุณสามารถเปลี่ยนเนื้อหาของ RecipDisplayName กรอกที่อยู่อีเมล หัวเรื่อง และเนื้อหาบทความที่คุณต้องการส่งไปยัง RecipDisplayName, MsgSubject และ MsgNoteText ตามลำดับ จากนั้นใช้ send คำสั่งเพื่อส่ง
ขั้นตอนที่ 3: ทดสอบโปรแกรมด้วยโปรแกรม IE3.0Mail
ดำเนินการโปรแกรมส่งอีเมลที่ออกแบบไว้ข้างต้น กรอก "การส่งการทดสอบ" ในช่องหัวเรื่อง กรอก [email protected] ในช่องข้อความที่อยู่ ป้อนเนื้อหาที่จะส่งในกล่องข้อความเนื้อหา: "สวัสดีทุกคน! นี่คือการทดสอบการส่ง" จากนั้นกดส่ง . จดหมายถูกส่งแล้ว!
เรียกใช้ IE3.0 เพื่อเลือกรับเมล และเลือก readmail ในตัวเลือกเมล เราจะเห็นจดหมายชื่อ "ส่งการทดสอบ" ในกล่องจดหมาย จากนั้นเราจะดูเนื้อหานั้น ใช่แล้ว! นั่นคือจดหมายทดสอบที่เราเพิ่งส่งไป
ส่วนการรับอีเมล์
ขั้นตอนที่ 1: การเขียนโปรแกรม
เลือก NewProject ในตัวเลือก File เพื่อสร้างโครงการใหม่ คุณจะเห็นตัวเลือกมากมายบนหน้าจอ เช่น ActiveXDocument.EXE, ActiveXDocument.DLL, ActiveX.EXE, ActiveXControl เป็นต้น ในขณะนี้ คุณควรเลือก Standard.EXE
จากนั้นภายใต้โครงการ เลือกตัวเลือกแอตทริบิวต์คุณสมบัติ ภายใต้ตัวเลือกทั่วไป เปลี่ยน ProjectName เป็น email-get และเปลี่ยนชื่อ FORM และ Caption เป็น email-get
เพิ่มตัวควบคุมข้อความ MAPI ลงในแบบฟอร์มบนหน้าจอ และตั้งชื่อเป็น MAPIm
1; เพิ่ม MAPIsessioncontrol ชื่อ MAPIs1; เพิ่ม Textboxcontrols สามรายการ, ตั้งชื่อ subject, content, indexno ตามลำดับ, เปลี่ยน Caption เป็น mail-subject, mail-content, indexno; เนื้อหาและดัชนีไม่มีตามลำดับ
ตั้งค่าคุณสมบัติต่างๆ ของ MAPIm1 ดังนี้:
ดาวน์โหลดเมล=TRUE
logoUI=จริง
เซสชั่นข่าว = FALSE
ชื่อผู้ใช้ = "ทดสอบ"
หลักการของการตั้งค่าเหล่านี้เหมือนกับการออกแบบส่วนของโปรแกรมส่งอีเมล จากนั้นเพิ่ม Buttoncontrolget-mail ลงในแบบฟอร์มบนหน้าจอและเปลี่ยนคำบรรยายเป็น getmail เช่นเดียวกับส่วนของโปรแกรมส่งอีเมล เซสชันจะถูกสร้างด้วยเมลเซิร์ฟเวอร์
เพิ่มโค้ดโปรแกรมต่อไปนี้ลงใน get-mail_Click() การกระทำนี้ทำให้ฉัน
เราได้รับอีเมล
MAPIM1.ดึงข้อมูล
Form1.Caption=MAPIM1.MsgCount
MAPIM1.MsgIndex=CINT(indexno.text)
subjec.Text=MM1.MsgNoteText
content.Text=MAPI1.MsgSubject
คำสั่ง Fetch จะจับตัวอักษรลงในบัฟเฟอร์ของหน่วยความจำระบบ หลังจากที่เราจับตัวอักษรแล้ว เราก็สามารถทราบจำนวนตัวอักษรผ่าน MsgCountproperty ได้ จากนั้นคุณสามารถใช้ MsgIndex เพื่อกำหนดเนื้อหาและชื่อเรื่องของตัวอักษรที่คุณต้องการดู
ขั้นตอนที่ 2: ทดสอบโปรแกรมรับเมล
ขั้นแรก ให้ใช้โปรแกรมเมลใดๆ เพื่อเขียนจดหมายจำนวนเท่าใดก็ได้ไปยังเมลเซิร์ฟเวอร์ ใน Caption ของ Form1 เราจะเห็นจำนวนจดหมายที่ได้รับ ดำเนินการโปรแกรมรับอีเมลที่ออกแบบด้านบนและกรอก 1 ลงในกล่องข้อความดัชนี จากนั้นกดปุ่ม getmailButton เพื่อให้เนื้อหาและชื่อเรื่องของตัวอักษรปรากฏในกล่องข้อความทั้งสองของเนื้อหาและหัวเรื่อง ขอแสดงความยินดีกับความสำเร็จของคุณ! -