【问题标题】:Cannot implicitly convert type ('string', 'string') to System.Net.ICredentialsByHost无法将类型 ('string', 'string') 隐式转换为 System.Net.ICredentialsByHost
【发布时间】:2020-03-07 13:33:02
【问题描述】:

所以我尝试创建一个电子邮件发件人并提供我的帐户信息,然后出现了这个错误:

无法将类型 ('string', 'string') 隐式转换为 System.Net.ICredentialsByHost。

这是代码。

SmtpClient SmtpServer = new SmtpClient("smpt.gmail.com", 587);

SmtpServer.Credentials = ("username", "password"); # The email and password were lighted up with red
MailMessage Mail = new MailMessage();
Mail.From = new MailAddress("from");

出于明显的原因,我更改了电子邮件和密码。

【问题讨论】:

标签: c# .net email system.net.mail


【解决方案1】:

您正在尝试将ValueTuple 转换为ICredentialsByHost。需要构造一个新的 NetworkCredential 实例并在 SmtpServer 中设置:

NetworkCredential credentials = new NetworkCredential("username", "password");  
SmtpServer.Credentials = credentials;

【讨论】:

    【解决方案2】:

    SmtpServer.Credentials 属性需要一个与ICredentialsByHost 接口接口的对象。 ("username", "password") 不能隐式转换为 ICredentialsByHost 接口的对象。

    您可以像这样使用NetworkCredential

    SmtpServer.Credentials = new System.Net.NetworkCredential("username", "password");
    

    this answer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-11
      • 2013-02-22
      相关资源
      最近更新 更多