send view in email body mvc

2.1k Views Asked by At

I want to send a view in email body in mvc. please guide how to render view so that it can be sent as html email body.

thanks,

2

There are 2 best solutions below

1
Sean Chase On BEST ANSWER

Consider using something like ActionMailer. You can download it using NuGet.

2
Naveed ahsan On

string path = ConfigurationManager.AppSettings["ProjectPath"] ; string gmailpath = path + "/" + "Driver/VerificedAccount?code=" + root.Result.EmailVerificationCode;

                var body= "<html><body><p></p><p><a href = "+gmailpath+" > Please click  Verifed  Account   </a></p></body></html> ";

var st = EmailclassHtml(sendemail.Email, "Verification-Driver", body);

public string EmailclassHtml(string email, string subjectname, string messgae) {

        string ownemail = ConfigurationManager.AppSettings["SenderEmail"];
        string ownname = ConfigurationManager.AppSettings["SenderName"];
        string returnmessage = "success";

        var senderEmail = new MailAddress(ownemail, ownname);
        var receiverEmail = new MailAddress(email, "Receiver");
        var password = ConfigurationManager.AppSettings["SenderPassword"];
        var sub = subjectname;
        var body = messgae;

        var smtp = new SmtpClient
        {
            Host = "smtp.gmail.com",
            Port = 587,

            EnableSsl = true,
            DeliveryMethod = SmtpDeliveryMethod.Network,
            UseDefaultCredentials = true,
            Credentials = new NetworkCredential(senderEmail.Address, password)

        };
        using (var mess = new MailMessage(senderEmail, receiverEmail)
        {
            Subject = sub,
            Body = body,
            IsBodyHtml = true
        })

            try
            {
                smtp.Send(mess);
                return returnmessage;
            }
            catch (Exception)
            {
                returnmessage = "fail";

            }
        return returnmessage;
    }