我们正在开发一个使用SMTP的应用程序;主机是在我们的DB中配置的,我们希望允许指定一个可选端口(以便以后可以使用SSL )。
最简单的方法似乎是在从DB读取时设置port==0,但我需要确认.NET将完全将其处理为完全不指定端口?
https://msdn.microsoft.com/en-us/library/67w4as51(v=vs.110).aspx
发布于 2015-09-03 09:45:26
根据构造函数文档
如果端口为零,则使用应用程序或计算机配置文件中的设置初始化端口。
从配置元素文档中可以看到,这默认为端口25,与只使用host参数调用构造器时完全相同。
如果你不想那样做,它很简单,就像:
SmtpClient smtpClient;
if (yourConfiguration.SmtpPort.HasValue)
{
smtpClient = new SmtpClient(yourConfiguration.SmtpHost, yourConfiguration.SmtpPort.Value);
}
else
{
smtpClient = new SmtpClient(yourConfiguration.SmtpHost);
}发布于 2015-09-03 10:13:59
另一种确认方法是在这个链接(SmtpClient源代码)中(第160行)
if(port == 0)
port = defaultPort;//25https://stackoverflow.com/questions/32372129
复制相似问题