배경:
이메일 주소는 MSSQL 사용자 정보 테이블에 수만 명으로 저장됩니다.
이 회사에는 자체 서버, SMTP, POP3, www, FTP, MSSQL, DNS 및 기타 서비스를 수집합니다.
Jmail에는 MailMerge 객체가 있지만 무료 버전에는 사용할 수 없습니다.
필요하다:
ASP Jmail 사용, 회사 SMTP를 사용하여 모든 사용자에게 이메일을 보내십시오.
아이디어:
데이터베이스를 직접 읽고 여러주기를 여러 번 전송하면 구성이 낮은 서버에 많은 압력이 가해집니다.
전자 메일로 배치로 전송하는 것이 가장 좋습니다. 서버의 압력을 완화하기 위해 일정 기간 동안 간격을 전송하는 각 배치.
성취하다:
이메일에 배치
레코드를 읽고 공통 페이징 프로그램을 사용하여 각 페이지가 배치로 사용됩니다.
지연
각 페이지의 실행이 완료된 후 <Meta http-equiv = Contrence = 60;
실행 시간 단축 :
사이클 동안 수신자를 순환 대신 사이클에 추가하십시오.
i = 1 ~ rs.pagesize의 경우
msg.addrecipient rs (이메일)
rs.movenext
다음
msg.send (smtp.abc.com)
이메일 크기를 줄입니다
주기에 수신자를 추가하면 많은 이메일 수신자가 있으며 그러한 이메일은 매우 커집니다.
따라서 위의 코드를 기준으로 개선하고 수신자 이메일 수에 도달하면주기에 판단을 내립니다.
20에서 한 번 보내십시오. 지금 바로:
i = 1 ~ rs.pagesize의 경우
msg.addrecipient rs (이메일)
20 = 0을 모드하면 20 명의 채권자마다 이메일을 이메일로 보내십시오.
msg.send (smtp.abc.com)
msg.clearrrecipients '보낸 발신자를 명확하게하십시오
끝 If
rs.movenext
다음
msg.send (smtp.abc.com) '나머지를 보내려면'
페이지
Mail.asp는 메일 테마 및 텍스트 양식을 포함합니다. <form action = sendmail.asp target = send>; <iframe name = send src = sendmail.asp.
sendmail.asp에는 배경 전송 프로그램, 사이클, 지연 점프 등이 포함되어 있습니다.
결점:
전송 과정 에서이 페이지를 떠날 수 없습니다
전송 시간은 길다. 이는 각 설정, 네트워크 대역폭 및 SMTP 서버 성능의 성능과 관련이 있습니다.
개선하다:
Mail.asp에 여러 iframe 페이지를 포함시킬 수 있습니다.
SMTP 서버의 압력은 증가하지만 배송 시간이 단축 될 수 있습니다.
여러 iframe 페이지를 포함하는 등 다른 페이지에서 다른 SMTP 서버를 사용하는 것을 고려할 수 있습니다.
smtp.abc.com, 홀수 페이지에서 smtp.123.com을 사용하십시오. 이것은 서버의 압력을 줄일뿐만 아니라 멀티 스레드 전송도 달성합니다.
배달 시간의 목적을 단축하십시오.