【问题标题】:Automated E-mail delivery through SQL/VB.Net通过 SQL/VB.Net 自动发送电子邮件
【发布时间】:2016-10-26 04:32:15
【问题描述】:
  • 我有一个使用 VB.Net 创建的 HR 解决方案,其后端是 SQL Server 2008 R2。
  • 我的客户提出了一项新要求,该程序在月底前自动向部门的每个员工发送工资单。
  • Sql 可以做到这一点。但是 SQL 的输出只是文本,客户希望坚持程序中设计的工资单报告。
  • 目前最终用户必须选择每个员工,查看他/她的工资单,然后单击电子邮件报告。此报告由 .net 应用程序内的 SSRS 处理。

    1. 是否可以在电子邮件正文中使用报告的元数据,以便为收件人生成一个 html 页面?
    2. 如果我创建一个 SSRS 报告管理器并安排自动备份,我想我将无法循环访问员工等等。我错了吗?
    3. 有没有办法生成报告、拍摄快照并将图像附件发送给相应的员工?

【问题讨论】:

  • 您可以按照您想要的方式设置电子邮件的样式,不管是从 SQL 还是 css。我们目前正在这样做。

标签: vb.net email reporting-services sql-server-2008-r2


【解决方案1】:

一种方法是调度任务。您可以编写一个控制台应用程序,每次运行时第一次检查月末,循环访问员工并生成报告。现在,您可以根据需要构建一个 html 报告,并发送一封带有 Mail 对象 IsBodyHtml= True mail message html 属性的电子邮件,tge 正文将是您需要构建的 html 字符串,或者作为 ssrs 生成的报告的 pdf 附件.

有很多方法.... Windows 服务可能是我的最爱。

【讨论】:

    【解决方案2】:

    第二个定时任务/windows服务。您可以让开发人员编写一个使用 System.Net.Mail.MailMessage 类生成电子邮件的 .net 函数。您甚至可以让开发人员为电子邮件创建两个备用视图,一个是美化的 html 版本,另一个是纯文本版本。这样,如果接收者无法在他们的设备上查看 html,他们仍然可以看到必要的数据。

    只需获取所有 SQL 数据,并以编程方式将其插入到带有变量占位符文本的 html 文件中。

    然后,使用您的 smtp 凭据,将电子邮件发送给所有员工。

    【讨论】:

    • 非常感谢您宝贵的意见和时间“搜索”和“Jcross”。我会尝试这两个建议,一旦得出结论,我会发布更新
    • 非常感谢 Searching 和 Jcross。这正是我想要的。它有效!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-15
    • 2013-01-13
    相关资源
    最近更新 更多