SendGrid Api密钥仅用于沙盒测试电子邮件

问题描述 投票:0回答:1

我刚刚注册了SendGrid,它看起来像是一个不错的产品。对于我尝试过的场景,它工作正常,但现在我需要添加一些自动集成测试。

我看到SendGrid有一个称为Sandbox的东西可以启用,如果电子邮件验证正确,它将在发送电子邮件时返回OK状态,但是电子邮件不会到达任何收件箱,也不会产生成本(不消耗任何信用) 。从理论上讲,这听起来很适合我想要的。

我已经使用完全访问权限API密钥成功尝试过,但是我不想在源代码中添加真实的API密钥。我想添加限制最大的一个(仅用于电子邮件测试)。

我已经看到我可以配置API密钥的范围,并且有一个名为“测试电子邮件”的选项,但是当我使用具有受限密钥的沙盒模式发送电子邮件时,会出现未授权的错误。

问题是:我可以仅在SendGrid中使用沙盒模式配置仅用于简单电子邮件测试的非常受限制的Api密钥吗?] >>

enter image description here

我正在使用.NET客户端,这是我的代码,但是我想这应该是不相关的。。

public async Task SendEmail(
    string fromEmail, 
    string fromName,
    string toEmail, 
    string subject,
    string plainTextContent,
    string htmlContent)
{
    var apiKey = "ThisIsTheApiKeyWithRestrictedPermissionsGeneratedAtMySendGridDashboard"
    var client = new SendGridClient(apiKey);
    var sandboxMode =
        new SandboxMode
        {
            Enable = true
        };

    var mailSettings =
        new MailSettings
        {
            SandboxMode = sandboxMode
        };
    var from = new EmailAddress(fromEmail, fromName);
    var to = new EmailAddress(toEmail);
    var message = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);
    message.MailSettings = mailSettings;
    var result = await client.SendEmailAsync(message);
}
            

我刚刚注册了SendGrid,它看起来像是一个不错的产品。对于我尝试过的场景,它工作得很好,但是现在我需要添加一些自动化集成测试。我看到SendGrid具有...

sendgrid
1个回答
0
投票

当api密钥具有以下权限时,我设法使其启用了沙箱:

电子邮件测试(完全访问)

© www.soinside.com 2019 - 2024. All rights reserved.