我在C#WinForm应用程序发送电子邮件时遇到三个问题。
1)为了发送电子邮件,我必须在运行时选择主机和端口号,例如smtp.mail.yahoo.com和端口号465或smtp.google.com和端口号587.实现此目的的最佳方法是什么?
2)测试时,我的PC上安装的防病毒软件(快速修复)会阻止我的应用程序并说这不是可信的电子邮件客户端。如何以编程方式将我的应用程序包含在防病毒/ Windows可信电子邮件客户端列表中?
3)是否需要使用默认端口25或任何其他端口,如465或587?
答案 0 :(得分:1)
命名空间 System.Net.Mail 中的 SmtpClient 类包含主机和端口的属性。
因此,设置不同的端口和主机没有问题。您将发送邮件的真实端口取决于您选择使用的Smtp服务。
如何存储主机和端口配置的最佳位置 这取决于目的。如果这是仅在设置过程中需要的一次性配置并且已为所有用户修复,请使用.config文件(应用程序设置)。如果要为每个用户提供在运行时更改此数据的功能,请使用配置文件(用户设置)。此外,如果您的应用程序有数据库,您可以考虑一个包含配置信息的选项表。
对于'以编程方式将我的应用程序添加到防病毒' 我觉得如果可能的话,这很难。安全将受到严重破坏 而且,最终,每个解决方案都将取决于特定防病毒供应商的特定API。
答案 1 :(得分:0)
取决于您从何处/如何/从中提取此端口数据。你从哪里得到这个号码?
嗯,这无关紧要,因为根据数字1,这将在运行时选择!?