如何解决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 举报,一经查实,本站将立刻删除。