65.9K
CodeProject 正在变化。 阅读更多。
Home

Pop3 客户端服务引擎代替 SQLMail

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.18/5 (2投票s)

2005 年 11 月 11 日

CPOL

2分钟阅读

viewsIcon

50207

downloadIcon

586

Pop3 客户端服务(代替 SQLMail):Pop3 类 + DB 辅助类 + 读取 XML 类 + SQL 连接对话框控件 + BLOB 转文件实用工具

俄语

序幕

我负责在我们公司管理 Microsoft SQL Server。 我们系统的一些部分不稳定,例如,我每天早上都从修复 SQLMail (+Outlook) 开始,因为服务之间和部分工作流程的消息传递都基于这项服务。 我认为你们很多人都遇到过这项服务的问题。 这是我遇到的错误

  • xp_readmail: 失败,出现操作系统错误 32 [SQLSTATE 42000]
  • xp_findnextmsg: 失败,出现邮件错误 0x80040108 [SQLSTATE 42000])

显然,对于大多数用户来说,???? 电子邮件发送就足够了,但对我来说并非如此,使用 XPSMTP 并未解决所有问题。 我迫切需要一个简单的 POP3 客户端。 在长期且未成功的寻找合适的应用程序之后,我自己编写了这个软件。 所以这项工作在这里发布,并包含所有源代码。

为什么它是开源的?

我不认为我写了一些杰出而完整的东西。 如果有人发现一个错误或可以改进的代码片段(每个软件都包含很多),并将更改的 diff 发送给我,我将非常感谢那个人。 版本控制由 TortoiseCVS 处理。

为什么使用 C#.NET 进行开发?

如果你想听听我的意见,它对于在 Windows 和 Windows Server 下编程很方便,特别是对于服务器应用程序。 你将需要 Microsoft .NET Framework 1.1。 或者你可以使用 POP3 客户端服务。 用于使用 POP3 的一组类的原型是从 The Code Project, C# .NET 中的 POP3 客户端 获得的。 但是,在遇到一些功能缺失后,我对其进行了重大改写。

安装过程

  1. 安装服务(启动 Setup.Exe 并通过按下“完成”按钮完成)
  2. 找到 %WINDOWS%/system32/BC_POP3Client.xml,并根据你的需要进行编辑,基本上只需要编辑
    • 帐户 – 你将用于获取邮件
    • sqlConnection – 你希望它存储在哪里
    • AttachFolder – 附件将存储在哪里
  3. 安装 DBObjectCreate.SQLsqlConnection 指向的位置)
  4. 不要忘记在 Start>Settings>Control Panel>Administration>Services>BC_POP3Client>Login 中设置服务(默认情况下,它在系统帐户下启动,并且无法访问网络)
  5. 在那里,你也可以启动它。 就这些了。 享受吧。

现在关于服务的运作

对于你作为最终用户来说,最重要的表是 mail mail_attchment:它们存储有关邮件的信息。

存储过程的编写类似于 SQLMail

mail_findnextmsg 
@msg_id INT, output gives id of unread message ([mail].[isRead] = false) 

mail_readmail 
@msg_id INT - which message to read 
@attachments VARCHAR (1024), output – list of attachments 
@originator_address VARCHAR (1024), output – senders address 
@originator VARCHAR (1024), output – senders name 
@date_received datetime, output – received date 
@subject VARCHAR (1024), output – message subject 
@recipients VARCHAR (1024), output - recipients 
@message VARCHAR (8000), output – message body 

参数集与 SQLMail 的过程匹配,因为我希望使实现我的解决方案变得简单 - 制作过程转储,更改调用,一切都有效。

附言:如果出现任何问题,请随时 联系 我。 我们将尝试一起解决它们。

历史

  • 2005 年 11 月 11 日:初始帖子
© . All rights reserved.