2012-03-23 72 views
0

我在C#WinForm应用程序发送电子邮件时遇到三个问题。通过C#winform应用程序发送电子邮件

1)为了发送电子邮件,我必须在运行时选择主机和端口号,例如, smtp.mail.yahoo.com和端口号465或smtp.google.com和端口号587.完成此操作的最佳方法是什么?

2)测试时,我的个人电脑上安装了我的杀毒软件(快速修复)阻止了我的应用程序,并说这不是可信的电子邮件客户端。如何以编程方式将我的应用程序包含在防病毒/ Windows可信电子邮件客户端列表中?

3)是否需要使用默认端口25或任何其他端口如465或587?

+0

你从哪里抽取连接细节? – Amicable 2012-03-23 11:21:35

+0

我假设您的防病毒软件已经离开,告诉它您的程序是可信的电子邮件客户端。这将是唯一可行的方法。 – 2012-03-23 15:02:52

回答

0
  1. 取决于您从何处/如何/您将这个端口数据从哪里拉出来。你从哪里得到号码?

  2. 那么这并不重要,因为根据数字1,这将在运行时选择!?

+0

2.'我怎样才能以编程方式将我的应用程序包含在防病毒/ Windows信任的电子邮件客户端列表中.'再次阅读 – Reniuz 2012-03-23 10:42:01

+0

谢谢。编辑。不确定这是否可以通过编程来实现 - 会是我想过的一个巨大的安全风险。 – 2012-03-23 10:44:53

1

在命名空间中的类SmtpClientSystem.Net.Mail包含主机和端口属性。
所以在设置不同的端口和主机时没有问题。您将发送邮件的真实端口取决于您选择使用的Smtp服务。

如何存储主机和端口配置的最佳位置。
这取决于目的。使用.config文件(应用程序设置),如果这是一次性配置只需在安装过程中需要并且为所有用户修复。如果您希望为每个用户提供在运行时更改此数据的功能,请使用配置文件(用户设置)。另外,如果你的应用程序有一个数据库,你可以考虑一个选项表和配置信息。

对于'以编程方式将我的应用程序添加到防病毒'。
我认为如果可能的话,这是非常困难的。安全将受到严重破坏。
而最终,每个解决方案都将取决于特定防病毒供应商的特定API。

相关问题