【发布时间】:2012-02-24 05:03:57
【问题描述】:
我正在使用带有 C# (VS 2008) 的 ASP.NET 使用 SMTP 服务器和 MailMessage 类发送带有附件的邮件。
现在我想将此带有附件的电子邮件存储到 SQL Server 2008 数据库中,稍后 Windows 服务将通过从数据库中获取邮件内容来发送邮件。
谁能提供有关将带有附件的电子邮件存储到数据库中的信息?
谢谢。
【问题讨论】:
标签: asp.net
我正在使用带有 C# (VS 2008) 的 ASP.NET 使用 SMTP 服务器和 MailMessage 类发送带有附件的邮件。
现在我想将此带有附件的电子邮件存储到 SQL Server 2008 数据库中,稍后 Windows 服务将通过从数据库中获取邮件内容来发送邮件。
谁能提供有关将带有附件的电子邮件存储到数据库中的信息?
谢谢。
【问题讨论】:
标签: asp.net
很简单,真的:
有一个基本的MailMessage 表,其中包含发件人、收件人、主题、邮件正文、发送电子邮件的日期等基本列
与存储该邮件附件的 MailAttachment 表具有 1:n 关系
然后,Windows 服务应检查 MailMessage 表中是否有要发送的邮件 - 并获取信息,创建 .NET MailMessage 对象并将其发送出去。该服务还需要记录任何可能的问题/错误,并使用例如状态标志(0 = 待处理,1 = 发送成功,-1 错误发生)或其他内容更新MailMessage 表 - 以便您可以监控您的邮件发送服务。
当您意识到发送电子邮件并不是那么简单时,问题就开始了......
这些是您在构建表格之前需要考虑的事项。
【讨论】:
您不必将附件本身存储在数据库中。您可以将位置保存为 nvarchar:“~/attachmentFolder/attachment.fileEXT” 然后使用 Server.MapPath(tableRow.ColumnName) 检索附件
【讨论】: