gpt4 book ai didi

c# - 使用 .NET 生成 HTML 电子邮件

转载 作者:行者123 更新时间:2023-11-30 20:15:16 26 4
gpt4 key购买 nike

两天来,我一直在努力使用 .NET 应用程序生成简单的 HTML 电子邮件。有几个answered questions已经在这个主题上,并且在每种情况下语法都相对简单。我仍然花了一天多的时间才开始工作。然而,该解决方案引发了更多问题。我看过 Microsoft documentation在那里什么也没找到。

此语法有效并将生成一封 HTML 电子邮件:

MailMessage message = new MailMessage();
message.Subject = "Test";
message.From = new MailAddress("user@athisaddress.com");
message.To.Add("me@myorg.com");
message.Body = "<strong>This is a test</strong>";
message.IsBodyHtml = true;
smtpClient.Send(message);

但是,如果我使用带有四个参数签名的 SmtpClient 对象的 Send 方法,它不会生成 HTML 电子邮件:

smtpClient.Send("user@athisaddress.com", "me@myorg.com", 
message.Subject, message.Body);

谁能解释一下为什么会这样。它是否记录在案,或者它是一个已知的“问题”? IsBodyHtml 在这两种情况下都设置为 true。

最佳答案

我认为对此的解释相当简单。

在第一种情况下,您在 MailMessage 对象中将 isBodyHtml 显式设置为 true。然后将 MailMessage 对象传递给 Send() 方法。因此,它会根据您的指示将电子邮件格式化为 HTML。

在第二种情况下,您无法告诉系统电子邮件的格式。纯文本通常是默认格式,因此在没有任何其他说明的情况下,我希望它会使用这种格式。

注意您声称 isBodyHTML 在这两种情况下都设置为 true,但这没有任何意义。在第二种情况下,您没有将 MailMessage 对象传递给方法...IsBodyHtml 属性属于 MailMessage。那么,您还可以如何以及在哪里设置这样的值?

在第二种情况下,Send() 方法获取的唯一值是四个字符串(fromtosubject正文)。它不会收到有关电子邮件的任何其他信息。 isBodyHTML 属性从未被使用,因为它是未使用的 MailMessage 的一部分。

关于c# - 使用 .NET 生成 HTML 电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55853281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com