gpt4 book ai didi

c# - 使用 SMTP 在邮件正文中发送多个文本框值

转载 作者:太空狗 更新时间:2023-10-29 23:15:01 25 4
gpt4 key购买 nike

伙计们,我正在尝试通过 SMTP 服务器发送邮件。我正在使用此代码发送邮件,

using(System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage())
{
message.To.Add(textBox1.Text); //TextBox1 = Send To
message.Subject = textBox2.Text; //TextBox2 = Subject
message.From = new System.Net.Mail.MailAddress("email id");
message.Body = textBox3.Text; //TextBox3 = Message Body

using(System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient())
{
smtp.Host = "smtp.server.com";
smtp.Credentials = new System.Net.NetworkCredential("user", "pass");
smtp.Send(message);
}
}

现在这段代码可以完美运行了。现在我想在邮件正文中发送整个表单,比如选择多个文本框的值。这是表格,我想通过邮件发送:

enter image description here

我如何设计消息模板,以便它可以发送正文包含您在上述表单中看到的所有值的消息?

最佳答案

使用StringBuilder并以所需格式从所有文本框中构建一个字符串,并将其分配给 message.Body

如果您希望输出像您的表单一样显示,您可以将 HTML 添加到将由电子邮件客户端呈现的字符串中,但是您不能使用 CSS 用于造型。

举个例子:

    private string BuildMessageBody()
{
StringBuilder builder = new StringBuilder();
builder.Append("<html>");
builder.Append("<body>");

// Custom HTML code could go here (I.e. a HTML table).
builder.Append(TextBox1.Text); // Append the textbox value

builder.Append("</body>");
builder.Append("</html>");

return builder.ToString();
}

然后你可以这样做:

message.Body = BuildMessageBody();

请记住为您的 MailMessageIsBodyHtml 属性设置为 true:

message.IsBodyHtml = true;

您可能会变得稍微复杂一些,并为所有文本框控件迭代您的表单并以这种方式构建字符串,这将是一个很好的解决方案 IMO - 但这应该为您需要实现的目标提供一个起点。

关于c# - 使用 SMTP 在邮件正文中发送多个文本框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22067168/

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