【问题标题】:Sendgrid - The provided authorization grant is invalid, expired, or revokedSendgrid - 提供的授权授权无效、过期或撤销
【发布时间】:2019-03-29 14:03:42
【问题描述】:

我刚刚注册了 sendgrid 以从我的 asp.net/vb.net 应用程序发送电子邮件。我没有使用 API。我不想使用 API。我只想使用我一直使用的现有 DotNetOpenMail 库并连接到 sendgrid 来发送电子邮件。

Dim newmail1 As New EmailMessage
adding body, from, to, bla bla bla
Dim newserver2 As New SmtpServer("smtp.sendgrid.net", 587)
Dim at2 As SmtpAuthToken = New SmtpAuthToken("apikey", "SG.XXXXXXXXXX")
newserver2.SmtpAuthToken = at2
newmail1.Send(newserver2)

显然 XXXXX 是我生成的 API KEY。我收到此错误

身份验证失败:提供的授权授权无效、过期或被撤销。

当我配置我的发件人身份验证时,我提供了完全访问权限。我不知道为什么这是个问题。

我的应用正在使用 SSL。我想也许我会将端口切换到 465 并重试,但是当我这样做时它就会挂起。我调试它,它挂在 .Send 线上,实际上只是坐在那里处理。我放手了,24 小时前又回来了,但浏览器仍在运行。我在我的应用中使用 TLS 1.2,所以我更喜欢使用端口 587。

【问题讨论】:

    标签: asp.net vb.net email smtp sendgrid


    【解决方案1】:

    它对我来说是这样的:

    Dim objat2 As New DotNetOpenMail.SmtpAuth.SmtpAuthToken("user", "pass")
    

    【讨论】:

      【解决方案2】:

      事实证明,DotNetOpenMail 与 SendGrid 并没有那么好。一切都很好,但我切换到 System.Net.Mail 并且一切正常。也许是 System.Net.Mail 使用 networkcredentials 对象而 dotnotopenmail 使用 authtoken 的事实?

      【讨论】:

        猜你喜欢
        • 2019-11-08
        • 2017-03-20
        • 2016-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多