ความเป็นมา:
ที่อยู่อีเมลจะถูกเก็บไว้ในตารางข้อมูลผู้ใช้ MSSQL ที่มีหมื่น
บริษัท มีเซิร์ฟเวอร์ของตัวเองรวบรวม SMTP, POP3, WWW, FTP, MSSQL, DNS และบริการอื่น ๆ
JMail มีวัตถุ MailMerge แต่ไม่สามารถใช้เวอร์ชันฟรีได้
จำเป็นต้อง:
ใช้ ASP JMAIL ใช้ SMTP บริษัท เพื่อส่งอีเมลไปยังผู้ใช้ทุกคน
ความคิด:
การอ่านฐานข้อมูลโดยตรงและส่งหลายรอบหลายครั้งจะทำให้เกิดแรงกดดันอย่างมากบนเซิร์ฟเวอร์ด้วยการกำหนดค่าต่ำ
เป็นการดีที่สุดที่จะส่งเป็นชุดไปยังอีเมลและแต่ละชุดของการส่งช่วงเวลาเป็นระยะเวลาหนึ่งเพื่อบรรเทาความกดดันบนเซิร์ฟเวอร์
ทำให้สำเร็จ:
ชุดอีเมล
อ่านระเบียนเพื่อบันทึกและใช้โปรแกรมการเพจทั่วไปเพื่อสร้างหน้าบันทึกทั้งหมด
ล่าช้า
หลังจากการดำเนินการของแต่ละหน้าเสร็จสิ้น <meta http-equiv = refresh content = 60;
ลดเวลาดำเนินการ:
ในระหว่างรอบให้เพิ่มผู้รับเข้าสู่วัฏจักรแทนการไหลเวียนนั่นคือ
สำหรับ i = 1 ถึง Rs.Pagesize
msg.addrecipient RS (อีเมล)
Rs.Movenext
ต่อไป
msg.send (smtp.abc.com)
ลดขนาดอีเมล
หากคุณเพิ่มผู้รับเข้าสู่วงจรจะมีผู้รับอีเมลจำนวนมากและอีเมลดังกล่าวจะมีขนาดใหญ่มาก
ดังนั้นปรับปรุงบนพื้นฐานของรหัสข้างต้นให้ตัดสินในรอบเมื่อจำนวนอีเมลผู้รับถึง
ส่งครั้งเดียวใน 20 ตอนนี้:
สำหรับ i = 1 ถึง Rs.Pagesize
msg.addrecipient RS (อีเมล)
ถ้าฉัน mod 20 = 0 จากนั้น 'ส่งอีเมลทุก ๆ 20 เจ้าหนี้เป็นอีเมล
msg.send (smtp.abc.com)
msg.clearrrecipients 'ล้างผู้ส่งที่ถูกส่งไป
สิ้นสุดถ้า
Rs.Movenext
ต่อไป
msg.send (smtp.abc.com) 'เพื่อส่งสิ่งที่เหลืออยู่
หน้าหนังสือ
Mail.asp มีธีมจดหมายและแบบฟอร์มข้อความ <การกระทำแบบฟอร์ม = sendmail.asp target = send>;
sendmail.asp มีโปรแกรมการส่งพื้นหลังรอบการกระโดดล่าช้า ฯลฯ
ข้อบกพร่อง:
ในระหว่างกระบวนการส่งคุณไม่สามารถออกจากหน้านี้ได้
เวลาในการส่งยาวซึ่งเกี่ยวข้องกับประสิทธิภาพของการตั้งค่าแต่ละชุดแบนด์วิดท์เครือข่ายและประสิทธิภาพเซิร์ฟเวอร์ SMTP
ทำให้ดีขึ้น:
คุณสามารถรวมหน้า iframe หลายหน้าใน mail.asp
ความกดดันต่อเซิร์ฟเวอร์ SMTP จะเพิ่มขึ้น แต่สามารถลดเวลาการส่งมอบให้สั้นลง
คุณสามารถพิจารณาใช้เซิร์ฟเวอร์ SMTP ที่แตกต่างกันในหน้าต่างๆเช่นมีหลายหน้า iframe
smtp.abc.com ใช้ smtp.123.com ในหน้าคี่ตัวเลข สิ่งนี้ไม่เพียงช่วยลดแรงกดดันของเซิร์ฟเวอร์ แต่ยังได้รับการส่งแบบหลายเธรด
ย่อวัตถุประสงค์ของเวลาส่งมอบ