【发布时间】:2021-09-24 07:49:30
【问题描述】:
我一直在尝试在 SQL 数据库邮件上设置 sendgrid,但一直显示无法将邮件发送到邮件服务器。
这就是我所做的。
- 我的 sendgrid 帐户是 abc@mydomain.com,并创建了 api 密钥和 SG.xxxx 密码。
- 由于这是产品设置实例,我已经完成了域级别的身份验证,并且我的网站管理员按照 sendgrid 的要求更新了 CNAME。
- 使用 TELNET smtp.sendgrid.net 587 进行测试,并使用 SG.xxxx 密码 Base64 编码进行身份验证,这能够将电子邮件从 abc@mydomain.com 发送到 xyz@mydomain.com
- 我使用 abc@mydomoain.com 作为 SQL 通知配置文件设置了配置文件,并选择了基本身份验证,并在数据库邮件中提供了“apikey”作为用户名和“SG.xxx”作为密码 - SQL SSMS 中的“配置数据库邮件”选项。未选中 -“服务器需要安全身份验证 (SSL) 连接”端口 587
- 我尝试使用“abc@domain.com”向“xyz@mydomain.com”“发送测试邮件”,但数据库邮件反映如下屏幕截图错误
我尝试在数据库邮件配置向导中使用 abc@mydomain.com 和 sendgrid 帐户密码进行基本身份验证,但 sendgrid 建议他们不接受基本身份验证。如果不在基本身份验证下,请帮助我应该如何以及在哪里传递 api 密钥? 我尝试使用 msdb.dbo.sysmail_add_account_sp 和更新记录进行更新,但它也没有解决并从数据库邮件发送电子邮件。
任何帮助/指导将不胜感激,或者如果您遇到此问题,您是如何解决的。
【问题讨论】:
-
当 SendGrid 说它不接受基本身份验证时,这意味着您的帐户用户名和密码。像这样发送时,您应该使用用户名“apikey”和具有邮件发送权限的 API 密钥作为密码。当您在 SMSS 中设置身份验证凭据时,您仍然使用 base 64 编码吗?是否有更详细的错误消息可用?
-
我尝试将用户名设置为“apikey”,并将“apikey”的 base64 编码为 YXBpa2V5。密码也是使用 linux 框中的 openssl 编码的 Base64 编码。无效
-
对不起,我之前没有设置过。据我所知,使用基本身份验证时,用户名应该是“apikey”,密码应该是实际的 API 密钥。我对您的数据库配置中发生的事情一无所知。