这就像我有联系森德,以了解如何我可能不会发送电子邮件。
这是因为我需要一个用户名和密码才能做到这一点。
Sendgrid在Twitter上说
要通过SMTP发送邮件,您需要将主机设置为http://smtp.sendgrid.net。然后,您可以使用端口587、2525或25进行TLS连接,并且可以使用您的SendGrid用户名/密码进行身份验证,也可以使用在您的帐户上生成的API密钥。
代码:
var resultMail = await _viewRenderService.RenderToStringAsync("~/Views/Templates/NewPassword.cshtml", viewModel);
var api = Environment.GetEnvironmentVariable("azure_xxxxxxx@azure.com");
var client = new SendGridClient(api);
var from = new EmailAddress("hello@hello.com", "J. Petersen");
var to = new EmailAddress("test@test.com", "Test");
var plainTextContent = Regex.Replace(resultMail, "<[^>]*>", "");
var msg = MailHelper.CreateSingleEmail(from, to, title, plainTextContent: plainTextContent,
htmlContent: null);
var resulta = client.SendEmailAsync(msg);
我看过关于Sendgrid的文档,我想我不会发现您需要使用用户名、密码和端口。
它是在.net内核2.0中构建的--问题是我如何添加用户名、密码和端口?
发布于 2018-03-07 11:28:15
您使用的是API而不是SMTP,以下是标准smtp
var mailMessage = new MailMessage
{
From = new MailAddress("support@bla.net"),
Subject = "Hello World",
Body = "Test email from Send Grid SMTP Settings"
};
mailMessage.To.Add("someone@somehwere.net");
var smtpClient = new SmtpClient
{
Credentials = new NetworkCredential("Your-Username@azure.com", "Your-Password"),
Host = "smtp.sendgrid.net",
Port = 587
};
smtpClient.Send(mailMessage);
https://stackoverflow.com/questions/49158450
复制