Blazor MailKit 电子邮件模板

发布于 2025-01-13 10:03:46 字数 3157 浏览 4 评论 0原文

我有一个计算器,我使用以下内容通过电子邮件发送结果

    public void SendEmail()
    {

        emailbody = "<i>Dear,&nbsp;" + model.FullName;
        emailbody = emailbody + "<br>";
        emailbody = emailbody + "<br><i>Here are the results using Dromon's Bureau of Shipping EEXI Calulator for:&nbsp;" + model.VesselName + "&nbsp;with IMO Number:&nbsp;</i>" + model.IMONumber;
        emailbody = emailbody + "<br><br>";
        emailbody = emailbody + "<hr>";
        emailbody = emailbody + "<br><b>Full Name:&nbsp;</b>" + model.FullName;
        emailbody = emailbody + "<br><b>Email Adsress:&nbsp;</b>" + model.EmailAddress;
        emailbody = emailbody + "<br><b>ISM Manager:&nbsp;</b>" + model.ISMManager;
        emailbody = emailbody + "<br><b>Vessel Name:&nbsp;</b>" + model.VesselName;
        emailbody = emailbody + "<br><b>IMO Number:&nbsp;</b>" + model.IMONumber;
        emailbody = emailbody + "<br><b>Type of Vessel:&nbsp;</b>" + model.TypeOfVessel;
        emailbody = emailbody + "<br><b>Gross Tonnage:&nbsp;</b>" + model.GrossTonnage;
        emailbody = emailbody + "<br><b>Year of built:&nbsp;</b>" + model.YearOfBuilt;
        emailbody = emailbody + "<br>";
        emailbody = emailbody + "<br><b>Dame and time of Calculation:&nbsp;</b>" + @DateTime.Now;
        emailbody = emailbody + "<br><b>EEXI Value:&nbsp;</b>" + eexi;
        emailbody = emailbody + "<br><b>Compliance with EEXI regulation:&nbsp;</b>" + Convert.ToString(model.Compliance);
        emailbody = emailbody + "<br><br>";
        emailbody = emailbody + "<hr>";
        emailbody = emailbody + "<br><i>Thank you for using Dromon's Bureau of Shipping EEXI Calculator.";
        emailbody = emailbody + "<br><small>This message was sent from an unmonitored address. Please do not respond to this message. Send all inquiries to [email protected]";
        
        email.From.Add(MailboxAddress.Parse("******"));

        email.To.Add(MailboxAddress.Parse(model.EmailAddress));

        email.Bcc.Add(MailboxAddress.Parse("******"));
        email.Subject = "Dromon Bureau of Shipping EEXI calculation Results for IMO Number:&nbsp;" + model.IMONumber;
        email.Body = new TextPart(TextFormat.Html) { Text = emailbody };

        using var smtp = new SmtpClient();
        smtp.Connect("mail.******.com", 587, SecureSocketOptions.StartTls);
        smtp.Authenticate("******", "******");

        smtp.Send(email);
        smtp.Disconnect(true);

    }
}

,结果电子邮件为:

在此处输入图像描述

现在我想让电子邮件正文成为 HTML 模板,这样看起来更专业并绑定模型价值观与我相似 现在。请注意,我无法绑定其他页面上的值。

I have a Calculator and i use the following to send the results by email

    public void SendEmail()
    {

        emailbody = "<i>Dear, " + model.FullName;
        emailbody = emailbody + "<br>";
        emailbody = emailbody + "<br><i>Here are the results using Dromon's Bureau of Shipping EEXI Calulator for: " + model.VesselName + " with IMO Number: </i>" + model.IMONumber;
        emailbody = emailbody + "<br><br>";
        emailbody = emailbody + "<hr>";
        emailbody = emailbody + "<br><b>Full Name: </b>" + model.FullName;
        emailbody = emailbody + "<br><b>Email Adsress: </b>" + model.EmailAddress;
        emailbody = emailbody + "<br><b>ISM Manager: </b>" + model.ISMManager;
        emailbody = emailbody + "<br><b>Vessel Name: </b>" + model.VesselName;
        emailbody = emailbody + "<br><b>IMO Number: </b>" + model.IMONumber;
        emailbody = emailbody + "<br><b>Type of Vessel: </b>" + model.TypeOfVessel;
        emailbody = emailbody + "<br><b>Gross Tonnage: </b>" + model.GrossTonnage;
        emailbody = emailbody + "<br><b>Year of built: </b>" + model.YearOfBuilt;
        emailbody = emailbody + "<br>";
        emailbody = emailbody + "<br><b>Dame and time of Calculation: </b>" + @DateTime.Now;
        emailbody = emailbody + "<br><b>EEXI Value: </b>" + eexi;
        emailbody = emailbody + "<br><b>Compliance with EEXI regulation: </b>" + Convert.ToString(model.Compliance);
        emailbody = emailbody + "<br><br>";
        emailbody = emailbody + "<hr>";
        emailbody = emailbody + "<br><i>Thank you for using Dromon's Bureau of Shipping EEXI Calculator.";
        emailbody = emailbody + "<br><small>This message was sent from an unmonitored address. Please do not respond to this message. Send all inquiries to [email protected]";
        
        email.From.Add(MailboxAddress.Parse("******"));

        email.To.Add(MailboxAddress.Parse(model.EmailAddress));

        email.Bcc.Add(MailboxAddress.Parse("******"));
        email.Subject = "Dromon Bureau of Shipping EEXI calculation Results for IMO Number: " + model.IMONumber;
        email.Body = new TextPart(TextFormat.Html) { Text = emailbody };

        using var smtp = new SmtpClient();
        smtp.Connect("mail.******.com", 587, SecureSocketOptions.StartTls);
        smtp.Authenticate("******", "******");

        smtp.Send(email);
        smtp.Disconnect(true);

    }
}

And the result email is:

enter image description here

Now I would like to make the email body an HTML template so it looks more professional and binds the model values similar to what I have now. Please note that I cannot bind values on another page.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文