Mvc Mailer
Click here to load reader
-
Upload
learningtech -
Category
Technology
-
view
2.583 -
download
2
Transcript of Mvc Mailer
![Page 1: Mvc Mailer](https://reader038.fdocuments.in/reader038/viewer/2022100517/5555d2fcd8b42a711f8b4b1e/html5/thumbnails/1.jpg)
MvcMailer
By Jax
![Page 2: Mvc Mailer](https://reader038.fdocuments.in/reader038/viewer/2022100517/5555d2fcd8b42a711f8b4b1e/html5/thumbnails/2.jpg)
Scaffold Your Mailer
PM> Scaffold Mailer.Razor UserMailer Welcome,PasswordReset
• Mailers\IUserMailer.cs• Mailers\UserMailer.cs• Views\UserMailer\_Layout.cshtml• Views\UserMailer\Welcome.cshtml• Views\UserMailer\PasswordReset.cshtml
![Page 3: Mvc Mailer](https://reader038.fdocuments.in/reader038/viewer/2022100517/5555d2fcd8b42a711f8b4b1e/html5/thumbnails/3.jpg)
Pass Data to Mailer Views
ViewBag.Name = "Sohan"; ViewBag.Comment = myComment;
ViewData["Name"] = "Sohan"; ViewData["Comment"] = myComment;
var comment = new Comment { To = you, Message = "Great Work!" };
ViewData = new ViewDataDictionary(comment);
var comment = new Comment { To = you, Message = "Great Work!" };
ViewData.Model = comment;
![Page 4: Mvc Mailer](https://reader038.fdocuments.in/reader038/viewer/2022100517/5555d2fcd8b42a711f8b4b1e/html5/thumbnails/4.jpg)
Send
var userMailer = new UserMailer();
userMailer.Welcome().Send();
userMailer.Welcome().SendAsync();
![Page 5: Mvc Mailer](https://reader038.fdocuments.in/reader038/viewer/2022100517/5555d2fcd8b42a711f8b4b1e/html5/thumbnails/5.jpg)
Other Options
# No Interface
PM> Scaffold Mailer.Razor MyMailer Welcome -NoInterface
# This will produce Razor views
PM> Scaffold Mailer.Razor UserMailer Welcome,GoodBye
# This will produce Aspx views
PM> Scaffold Mailer.Aspx UserMailer Welcome,GoodBye
![Page 6: Mvc Mailer](https://reader038.fdocuments.in/reader038/viewer/2022100517/5555d2fcd8b42a711f8b4b1e/html5/thumbnails/6.jpg)
Send Multi-part Emails
PM> scaffold Mailer MyMailer Hello –WithText
• Mailers\IMyMailer.cs• Mailers\MyMailer.cs• Views\MyMailer\_Layout.cshtml• Views\MyMailer\Hello.cshtml• Views\MyMailer\_Layout.text.cshtml• Views\MyMailer\Hello.text.cshtml
![Page 7: Mvc Mailer](https://reader038.fdocuments.in/reader038/viewer/2022100517/5555d2fcd8b42a711f8b4b1e/html5/thumbnails/7.jpg)
Embed Image or Linked Resource Inside Email
In Your View
@using Mvc.Mailer @Html.InlineImage("logo", "Company Logo") ###
public static IHtmlString InlineImage(this HtmlHelper htmlHelper, string contentId, string alt = "");
In Your Mailer
var resources = new Dictionary<string, string>(); resources["logo"] = @"D:\001.png"; PopulateBody(mailMessage, "WelcomeMessage", resources);
![Page 8: Mvc Mailer](https://reader038.fdocuments.in/reader038/viewer/2022100517/5555d2fcd8b42a711f8b4b1e/html5/thumbnails/8.jpg)
My Usingprivate MvcMailMessage getMailMessage(string viewName, object vm = null) {
ViewData.Model = vm;
MvcMailMessage message = Populate(x => { x.ViewName = viewName; });
message.Subject = Regex.Match(message.Body, @"(?<=<title[^>]*>)([^<]*)(?=</title>)", RegexOptions.IgnoreCase
).Value.Trim();
return message; }
public virtual MvcMailMessage MemberEnabledNotice(MemberViewModel vm) {
MvcMailMessage message = getMailMessage("MemberEnabledNotice", vm);
/*To Member*/ message.To.Add(vm.Email);
return message;
}