Sendgrid-提供的授权授予无效,已过期或已撤销

时间:2018-10-25 03:56:54

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

我刚刚注册了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。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

这种方式对我有效:

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