从 SQL Server 2008 数据库中提取电子邮件
我需要向所有订阅者发送一封电子邮件。我目前采用的是提供 SQL Server 2008 数据库的共享托管计划。
我真的不想将所有电子邮件复制到我的邮件客户端(雷鸟)中,也不想制作一个程序来从数据库中获取所有电子邮件并通过 smtp.net 发送它
我正在寻找一个免费的解决方案我可以告诉它数据库路径和电子邮件的列,并允许我编写主题和正文并让我发送它。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
根据您是否想要向每个人发送相同的消息,或者对每个人进行个性化设置,您可以使用循环来构建将大块地址发送至密件抄送(您不一定希望一次发送给所有收件人)或为每个收件人制作个性化的正文/主题。
在循环的每次迭代中拥有正文和收件人后,您可以使用 msdb.dbo.sp_send_dbmail 发送每条消息。
编辑添加一些示例代码。
设置:
如果您只想发送所有相同的消息并假设列表很短 - 批处理或分块将是一个不同的问题:
- 如果您想向每个收件人发送单独的消息,请使用游标:
清理:
最后,如果您的收件人列表很大,我建议您寻找更适合批量邮件发送的其他替代方案。
Depending on whether you want to send the same message to everyone, or personalize each one, you can use a loop to either build up chunks of addresses to BCC (you won't necessarily want to send to all the recipients at once) or to craft the individualized body/subject for each recipient.
Once you have a body and recipient(s) in each iteration of the loop, you can use msdb.dbo.sp_send_dbmail to send each message.
EDIT adding some sample code.
Setup:
If you want to just send all the same message and assuming the list is short - batching or chunking would be a different question:
-- If you want to send an individual message to each recipient, use a cursor:
Cleanup:
Finally, if your list of recipients is large, I'll suggest you seek other alternatives that are better equipped for bulk mailing.
ASP.net 有一个 SMTP 客户端类。我确信您可以从表中
选择
所有电子邮件地址,然后循环遍历它们,对每个地址调用 SMTPSend()
方法。ASP.net has an SMTP client class. I'm sure you could
select
all the email addresses from your table then loop through them, calling the SMTPSend()
method on each address.