เมื่อไม่นานมานี้ ฉันส่งโค้ดอีเมล JMAIL ธรรมดาไป วันนี้ฉันจะแสดงความคิดเห็นเกี่ยวกับโค้ดนี้ และเพิ่มโค้ดรูปแบบอื่นอีกสองโค้ด และยกตัวอย่างง่ายๆ บางส่วน:
อันแรกคือโค้ดหลักของ jmail.smtpmail:
<%
ตั้งค่า jmail = Server.CreateObject("JMAIL.SMTPMail") 'สร้างวัตถุ JMAIL
jmail.silent = true 'JMAIL จะไม่เกิดข้อผิดพลาดข้อยกเว้นและค่าที่ส่งคืนเป็น FALSE และ TRUE
jmail.logging = true 'เปิดใช้งานบันทึกการใช้งาน
jmail.Charset = "GB2312" 'รหัสของข้อความอีเมลเป็นภาษาจีนตัวย่อ
jmail.ContentType = "text/html" 'รูปแบบของอีเมลเป็น HTML
jmail.ServerAddress = "ที่อยู่เซิร์ฟเวอร์" 'เซิร์ฟเวอร์ที่ส่งอีเมล
jmail.AddRecipient Email 'ผู้รับอีเมล'
jmail.SenderName = "SenderName" 'ชื่อของผู้ส่งอีเมล
jmail.Sender = "ที่อยู่อีเมล" 'ที่อยู่อีเมลของผู้ส่งอีเมล
jmail.Priority = 1 'โปรแกรมอีเมลฉุกเฉิน 1 คือเร็วที่สุด 5 คือช้าที่สุด 3 คือค่าเริ่มต้น
jmail.Subject = "หัวเรื่องเมล" 'ชื่อเรื่องของอีเมล
jmail.Body = "เนื้อหาเมล" 'เนื้อหาของอีเมล
jmail.AddRecipientBCC Email 'ที่อยู่ของผู้รับอีเมลที่มองไม่เห็น'
jmail.AddRecipientCC Email 'ที่อยู่ของผู้คัดลอกอีเมล'
jmail.Execute() 'ดำเนินการส่งอีเมล
jmail.Close 'ปิดวัตถุจดหมาย
%>
ส่วนประกอบ Jmail4.3 ได้ออกแบบโครงสร้างภายในใหม่ - โดยใช้วัตถุข้อความแทน Jmail.smtpmail วัตถุเดียวดั้งเดิมเพื่อส่งอีเมล วิธีการดังต่อไปนี้:
-
ตั้งค่า jmail = Server.CreateObject("JMAIL.Message") 'สร้างวัตถุสำหรับการส่งอีเมล
jmail.silent = true 'ป้องกันข้อผิดพลาดข้อยกเว้นและส่งกลับค่า FALSE และ TRUE j
mail.logging = true 'เปิดใช้งานการบันทึกเมล
jmail.Charset = "GB2312" 'การเข้ารหัสข้อความของอีเมลเป็นมาตรฐานระดับชาติ
jmail.ContentType = "text/html" 'รูปแบบของอีเมลคือรูปแบบ HTML
jmail.AddRecipient Email 'ที่อยู่อีเมล์ของผู้รับ'
jmail.From = "อีเมลจากสำหรับผู้ส่ง" 'ที่อยู่อีเมลของผู้ส่ง
jmail.MailServerUserName = "ชื่อผู้ใช้ของอีเมล" 'ชื่อผู้ใช้ที่จำเป็นในการเข้าสู่เมลเซิร์ฟเวอร์
jmail.MailServerPassword = "รหัสผ่านของอีเมล" 'ต้องใช้รหัสผ่านเพื่อเข้าสู่เมลเซิร์ฟเวอร์
jmail.Subject = "หัวเรื่องเมล" 'ชื่อเรื่องของอีเมล
jmail.Body = "เนื้อหาเมล" 'เนื้อหาของอีเมล
jmail.Prority = 1 'โปรแกรมอีเมลฉุกเฉิน 1 คือเร็วที่สุด 5 คือช้าที่สุด 3 คือค่าเริ่มต้น
jmail.Send("Server Address") 'ดำเนินการส่งอีเมล (ผ่านที่อยู่เซิร์ฟเวอร์เมล)
jmail.Close() 'ปิดวัตถุ'
%>
มาพูดถึงวิธีการส่งข้อความโดยใช้ส่วนประกอบ CDONTS ของ Microsoft กันดีกว่า:
<%
ตั้งค่า cdomail = Server.CreateObject("CDONTS.NewMail") 'สร้างวัตถุจดหมาย
cdomail.Subject = "หัวเรื่องเมล" 'ชื่อเมล'
cdomail.From = "จดหมายของผู้ส่ง" 'ที่อยู่ของผู้ส่ง
cdomail.To = "อีเมลจะมาจาก" 'ที่อยู่ของผู้รับ
cdomail.Body = "เนื้อหาเมล" 'เนื้อหาของอีเมล
cdomail.Send 'ดำเนินการส่ง
%>
วิธีนี้เป็นวิธีที่ง่ายที่สุดในการส่งอีเมล แต่ยังนำมาซึ่งปัญหาบางอย่างด้วยนั่นคือมีเซิร์ฟเวอร์ไม่กี่แห่งที่จะเปิดบริการนี้!
เมื่อเราเขียนโปรแกรม เรามักจะบอกว่าโค้ดควรเป็นแบบโมดูลาร์ เพื่ออำนวยความสะดวกในการบำรุงรักษาและการย้ายพอร์ต ดังนั้นฉันจะเขียนอีเมลนี้เป็นรูทีนย่อยที่นี่ซึ่งสามารถเรียกได้โดยตรงเมื่อโทร (แน่นอนถ้าคุณยินดีที่จะเขียนเป็นฟังก์ชันก็เป็นไปได้เช่นกัน ทั้งนี้ขึ้นอยู่กับความสนใจส่วนบุคคลเป็นหลัก):
<%
'คำอธิบายพารามิเตอร์
'หัวเรื่อง: ชื่ออีเมล์
'MailAddress: ที่อยู่ของเซิร์ฟเวอร์ที่ส่ง เช่น smtp.163.com
'อีเมล: ที่อยู่อีเมลของผู้รับ
'ผู้ส่ง: ชื่อผู้ส่ง'
'เนื้อหา: เนื้อหาอีเมล
'Fromer: ที่อยู่อีเมลของผู้ส่ง
Sub SendAction (หัวเรื่อง, ที่อยู่อีเมล, อีเมล, ผู้ส่ง, เนื้อหา, fromer)
ตั้งค่า jmail = Server.CreateObject("JMAIL.SMTPMail") 'สร้างวัตถุ JMAIL
jmail.silent = true 'JMAIL จะไม่เกิดข้อผิดพลาดข้อยกเว้นและค่าที่ส่งคืนเป็น FALSE และ TRUE
jmail.logging = true 'เปิดใช้งานบันทึกการใช้งาน
jmail.Charset = "GB2312" 'รหัสของข้อความอีเมลเป็นภาษาจีนตัวย่อ
jmail.ContentType = "text/html" 'รูปแบบของอีเมลเป็น HTML
jmail.ServerAddress = mailaddress 'เซิร์ฟเวอร์ที่ส่งจดหมาย
jmail.AddRecipient Email 'ผู้รับอีเมล'
jmail.SenderName = sender 'ชื่อของผู้ส่งอีเมล
jmail.Sender = fromer 'ที่อยู่อีเมลของผู้ส่งอีเมล
jmail.Priority = 1 'โปรแกรมอีเมลฉุกเฉิน 1 คือเร็วที่สุด 5 คือช้าที่สุด 3 คือค่าเริ่มต้น
jmail.Subject = subject 'หัวเรื่องของอีเมล์
jmail.Body = content 'เนื้อหาของอีเมล
'เนื่องจากไม่ได้ใช้ BCC และ CC สองประโยคนี้จึงถูกบล็อกที่นี่ หากคุณต้องการ คุณสามารถกู้คืนได้ที่นี่
'jmail.AddRecipientBCC Email 'ที่อยู่ของผู้รับอีเมลที่มองไม่เห็น
'jmail.AddRecipientCC Email 'ที่อยู่ของสำเนาอีเมล
jmail.Execute() 'ดำเนินการส่งอีเมล
jmail.Close 'ปิดวัตถุจดหมาย
จบหมวดย่อย
'ตัวอย่างการเรียก Sub นี้
หรี่ strSubject,strEmail,strMailAdress,strSender,strContent,strFromer
strSubject = "นี่คืออีเมลทดสอบที่ส่งโดยใช้ JMAIL"
strContent = "การทดสอบส่วนประกอบ JMail ส่งสำเร็จ!"
strEmail = " [email protected] "
strFromer = " [email protected] "
strMailAddress = "mail.ubbcn.com"
เรียก SendAction (strSubject,strMailaddress,strEmail,strSender,strContent,strFromer)
%>
ข้างต้นเป็นความคิดเห็นคร่าวๆ ของฉันเกี่ยวกับโค้ดในการส่งอีเมล ฉันขอขอบคุณสำหรับคำแนะนำของคุณ!