Informez votre client à propos de Constant Contact. Ils vont gérer cela beaucoup mieux que vous ne pourriez jamais. C'est aussi moins cher que votre temps.
En cas d'échec, vous avez quelques options.
S'ils ont déjà un serveur de messagerie, profitez-en pour diffuser vos e-mails. En d'autres termes, relayer le courrier à travers ce serveur.
Si vous ne pouvez pas faire cela, allez télécharger un serveur de messagerie gratuit. J'utilise hMailserver. Réglez-le et relayez-le.
Si vous ne pouvez pas faire cela, écrivez votre propre moteur de traitement SMTP. N'essayez pas d'envoyer les emails directement depuis ASP.Net. Mettez-les en file d'attente dans une base de données et écrivez un service Windows pour gérer la diffusion du courrier.
L'envoi d'e-mails peut parfois prendre plusieurs secondes par e-mail. Cela pourrait complètement arroser votre site web pendant qu'il essaie de gérer l'envoi de 1000 emails.
Un certain nombre de serveurs de messagerie sont configurés avec une liste grise, ce qui signifie qu'ils vous demandent d'envoyer deux fois le même courrier électronique pour prouver que vous n'êtes pas un spammeur.
Ensuite, obtenir le DNS correctement configuré peut être un PITA. C'est pourquoi je suggère constant contact.J'ai un client qui a pris près de 5 ans pour finalement configurer leur DNS; et oui, je leur ai donné des instructions explicites une fois par an sur ce qu'il faut faire. Le reverse DNS est critique.
Une autre chose est que certains serveurs destinataires ont une limite sur le nombre de threads qu'ils vont accepter de vous à la fois. La plupart des serveurs de messagerie sont conçus pour en tenir compte. Si vous franchissez cette limite, les serveurs receveurs vous considéreront comme un spammeur et prendront les mesures appropriées.
Un autre problème est dans l'envoi à une mauvaise adresse, encore et encore. AOL et d'autres vous considéreront comme un spammeur pour cette seule chose.
Le point est, vous ne voulez vraiment pas écrire cela vous-même.
application concole? Alors, que dirait l'application console? envoyer tous les e-mails de la base de données avec une petite pause entre les deux? – Andrej
Oui, il exécute l'envoi des emails. Comme il est isolé dans un processus séparé, il n'a aucune incidence sur les performances de votre application Web. Genre de système de traitement distribué d'un pauvre. – bmancini