私は電子メールを送信しようとしています。通常の電子メールを送信できます。 しかし、私は電子メールでテンプレート(.cshtml)を送信しました。SendGrid + MVC4を使用して.cshtmlをメールボディとしてレンダリングするには?
どうすればいいのか教えてください。ここで
私のコードです:
コントローラー:
public ActionResult SendEmailDeviceInfoDisplay(List<String> deviceDatailData)
{
string body = "";
var emailContoller = new EmailController();
string email = deviceDatailData[9];
body = "<html>Event Name: " + deviceDatailData[0] +"</html>";
var sendEmail = emailContoller.SendDeviceAndEventInfoMail(email, body);
ViewBag.info = deviceDatailData[8];
return PartialView("SendEmailConformationDisplay");
}
SendGrid方法:
public string SendDeviceAndEventInfoMail(string email, string body)
{
var myMessage = new SendGridMessage();
myMessage.From = new MailAddress("[email protected]");
List<String> recipients = new List<String> { email };
myMessage.AddTo(recipients);
myMessage.Subject = "Information";
myMessage.Html = body;
var transportWeb = new Web(nc);
transportWeb.Deliver(myMessage);
return "done";
}
Ajaxのコール:
$(function() {
var loggedInEmailId = $('#buildingSession').val();
$('#sendAsEmailDeviceConformationDialog').dialog({
autoOpen: false,
width: '27.5em',
position: { my: 'top', at: 'top+150' },
opacity: 100,
resizable: false,
//title: 'Product',
modal: true,
closeOnEscape: false,
open: function (event, ui) {
$(".ui-dialog-titlebar-close", ui.dialog | ui).hide();
$.ajax({
url: '/Overview/SendEmailDeviceInfoDisplay',
traditional: true,
data: data,
success: function (result) {
$('.ui-button-text').hide();
$('#sendAsEmailDeviceConformationDialog').html(result);
},
error: function() {
}
});
}
});
}
お返事ありがとうございます。しかし、私はデータベースに保存する必要はありません。すでにデータを手元に持っています。データを.cshtmlに追加するだけで、.cshtmlはメールで送信する必要があります。どうすれば可能か、それが可能かどうか教えてください。 –
http://mehdi.me/generating-html-emails-with-razorengine-introduction/ –