首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在调用SmtpClient(主机,0),相当于调用SmtpClient(主机)

正在调用SmtpClient(主机,0),相当于调用SmtpClient(主机)
EN

Stack Overflow用户
提问于 2015-09-03 09:41:28
回答 2查看 34关注 0票数 0

我们正在开发一个使用SMTP的应用程序;主机是在我们的DB中配置的,我们希望允许指定一个可选端口(以便以后可以使用SSL )。

最简单的方法似乎是在从DB读取时设置port==0,但我需要确认.NET将完全将其处理为完全不指定端口?

https://msdn.microsoft.com/en-us/library/67w4as51(v=vs.110).aspx

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-03 09:45:26

根据构造函数文档

如果端口为零,则使用应用程序或计算机配置文件中的设置初始化端口。

配置元素文档中可以看到,这默认为端口25,与只使用host参数调用构造器时完全相同。

如果你不想那样做,它很简单,就像:

代码语言:javascript
复制
SmtpClient smtpClient;

if (yourConfiguration.SmtpPort.HasValue)
{
    smtpClient = new SmtpClient(yourConfiguration.SmtpHost, yourConfiguration.SmtpPort.Value);
}
else
{
    smtpClient = new SmtpClient(yourConfiguration.SmtpHost);
}
票数 2
EN

Stack Overflow用户

发布于 2015-09-03 10:13:59

另一种确认方法是在这个链接(SmtpClient源代码)中(第160行)

代码语言:javascript
复制
if(port == 0)
  port = defaultPort;//25
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32372129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档