asp.net核心我们计算出的请求签名与您提供的签名不匹配检查您的AWS Secret Access密钥和签名方法

问题描述

asp.net核心api使用aws ses smtp凭据发送邮件

Amazon.SimpleEmail.AmazonSimpleEmailServiceException:我们计算出的请求签名与您提供的签名不匹配。检查您的AWS Secret Access密钥和签名方法。有关详细信息,请查阅服务文档。

这里是我的控制器

        public async Task<bool> SendEmail()
        {
            var UserName = _emailConfiguration.UserName;
            var Password = _emailConfiguration.Password;
            var port = _emailConfiguration.port;
            var smtpserver = _emailConfiguration.smtpServer;

            using (var ses = new AmazonSimpleEmailServiceClient(UserName,Password,RegionEndpoint.USEast2)
            {

                var sendResult = await ses.SendEmailAsync(new SendEmailRequest
                {
                    Source = "mail",Destination = new Destination { ToAddresses = new List<string> { "reciver mail" } },Message = new Amazon.SimpleEmail.Model.Message
                    {
                        Subject = new Amazon.SimpleEmail.Model.Content("Test Mail"),Body = new Body { Text = new Content("Body Content text mail") }
                    }
                });
                using (var client = new SmtpClient())
                    try
                    {
                        client.Connect(_emailConfiguration.smtpServer,_emailConfiguration.port,true);
                        client.AuthenticationMechanisms.Remove("XOAUTH2");
                        client.Authenticate(_emailConfiguration.UserName,_emailConfiguration.Password);

                    }
                    catch
                    {
                        throw;
                    }
                    finally
                    {
                        client.disconnect(true);
                        client.dispose();
                    }
                return sendResult.HttpStatusCode == HttpStatusCode.OK;




            }

这是我的appsetting.json

    "From": "email","smtpServer": "email-smtp.us-east-2.amazonaws.com","port": 465,"UserName": "myusername","Password": "mykey"
  },

电子邮件配置类


namespace EmailService
{
    public class EmailConfiguration
    {
        public string From { get; set; }
        public string smtpServer { get; set; }
        public int  port { get; set; }
        public string  UserName { get; set; }
        public string Password { get; set; }
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)