#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;