Как добавить ответ с помощью sendgrid в C#

#c# #sendgrid #reply

Вопрос:

Я использую sendgrid с сайтом .NET Core, который я создал. На нем есть контактная форма, чтобы клиент мог заполнить ее, и она отправляется на мой адрес электронной почты. Я использую пакет Sendgrid nuget для создания и отправки электронного письма. Проблема в том, что, когда я получаю электронное письмо, я не хочу отвечать себе, и когда я делаю ответ равным введенному адресу электронной почты — sendgrid не отправит электронное письмо, потому что это электронное письмо не введено в проверку одного отправителя. Должен быть способ настроить все так, чтобы в моем электронном письме, когда я нажму «Ответить», оно отправилось человеку, отправившему электронное письмо. Верно?

 string key = _iConfig.GetSection("Email").GetSection("SendGridKey").Value; var client = new SendGridClient(key);  var subject = "Form submission";  var fromemail = _iConfig.GetSection("Email").GetSection("From").Value; var from = new EmailAddress(fromemail, model.Name);  var toemail = _iConfig.GetSection("Email").GetSection("To").Value; var to = new EmailAddress(toemail, "Admin");  var htmlContent = "lt;stronggt;From: "   model.Name   "lt;brgt;Email: "   model.Email   "lt;brgt;Message: "   model.Message;   var msg = MailHelper.CreateSingleEmail(from, to, subject, model.Message, htmlContent); var response = await client.SendEmailAsync(msg); return response.IsSuccessStatusCode;  

Ответ №1:

Евангелист-разработчик Twilio SendGrid здесь.

Чтобы задать адрес для ответа на C#, вам нужен setReplyTo метод, подобный этому:

 var msg = MailHelper.CreateSingleEmail(from, to, subject, model.Message, htmlContent);  // Add the reply-to email address here. var replyTo = new EmailAddress(model.Email, model.Name); msg.setReplyTo(replyTo);  var response = await client.SendEmailAsync(msg); return response.IsSuccessStatusCode;