arrière-plan:
L'adresse e-mail est stockée dans le tableau d'informations utilisateur MSSQL avec des dizaines de milliers.
La société possède ses propres serveurs, collectant SMTP, POP3, WWW, FTP, MSSQL, DNS et autres services.
Jmail a un objet MailMerge, mais la version gratuite ne peut pas être utilisée
Exiger:
Utilisez ASP Jmail, utilisez la société SMTP pour envoyer un e-mail à tous les utilisateurs
Idée:
La lecture de la base de données directement et l'envoi de plusieurs cycles plusieurs fois entraînera beaucoup de pression sur le serveur avec une faible configuration.
Il est préférable de l'envoyer par lots en e-mail, et chaque lot d'envoi d'intervalle pendant une période de temps pour atténuer la pression sur le serveur.
accomplir:
Lot par e-mail
Lisez l'enregistrement dans Recordset et utilisez le programme de pagination commun pour faire toutes les pages d'enregistrement.
Retard
Une fois l'exécution de chaque page terminée, <Meta Http-Equiv = Refresh Content = 60;
Réduire le temps d'exécution:
Pendant le cycle, ajoutez le destinataire au cycle au lieu de la circulation, c'est-à-dire,
pour i = 1 à Rs.pagesize
MSG.Addrecicipient Rs (e-mail)
Rs.MovEnext
suivant
msg.send (smtp.abc.com)
Réduire la taille de l'e-mail
Si vous ajoutez un destinataire au cycle, il y aura beaucoup de destinataires par e-mail et un tel e-mail sera très important.
Par conséquent, améliorez-le sur la base du code ci-dessus, portez un jugement dans le cycle, lorsque le nombre d'e-mails du destinataire atteint
Envoyez-le une fois en 20. Tout de suite:
pour i = 1 à Rs.pagesize
MSG.Addrecicipient Rs (e-mail)
Si je mod 20 = 0, alors 'Envoyez un e-mail tous les 20 créanciers comme e-mail
msg.send (smtp.abc.com)
MSG.CLEARRRRECIPIENTS 'Effacez l'expéditeur qui a été envoyé
terminer si
Rs.MovEnext
suivant
msg.send (smtp.abc.com) 'pour en envoyer les autres
page
Mail.asp contient des thèmes de messagerie et des formulaires de texte, <formulaire Action = Sendmail.asp Target = Send>;
Sendmail.asp contient des programmes d'envoi d'arrière-plan, des cycles, des sauts retardés, etc.
défaut:
Pendant le processus d'envoi, vous ne pouvez pas quitter cette page
Le temps d'envoi est long, ce qui est lié aux performances de chaque lot de paramètres, de bande passante réseau et de performances du serveur SMTP
améliorer:
Vous pouvez inclure plusieurs pages IFRAME dans Mail.asp.
La pression sur le serveur SMTP augmentera, mais elle peut raccourcir le délai de livraison.
Vous pouvez envisager d'utiliser différents serveurs SMTP dans différentes pages, comme contenir plusieurs pages IFRAME.
smtp.abc.com, utilisez smtp.123.com sur la page de numéro ODD. Cela réduit non seulement la pression du serveur, mais réduit également l'envoi multi-thread
Raccourcir le but du délai de livraison.