就像我联系Sendrid,了解我如何不发送电子邮件。
那是因为我需要一个用户名和密码才能做到这一点。
Sendgrid在Twitter(PM)上说
要通过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);
我查看了Documentation on Sendgrid,我认为我不会发现您需要使用用户名和密码以及端口。
它内置于.net核心2.0 - 问题是如何添加我的用户名和密码以及端口?
答案 0 :(得分:1)
您使用的是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);