如何使用asp.net c#将HTML格式的电子邮件正文传递给javascript函数

Posted

技术标签:

【中文标题】如何使用asp.net c#将HTML格式的电子邮件正文传递给javascript函数【英文标题】:How to pass HTML formatted email body to a javascript function using asp.net c# 【发布时间】:2016-11-05 22:39:40 【问题描述】:

这里是 C# 部分

for (int i = 0; i <= mailergrd.Rows.Count - 1; i++)

    SBEmailBody.Append("<'html><'body><table><tr><td>  Dear  <b> <name>,    </td></tr></table></b>  <br/><br/>  Welcome  <br/>" + "hiii.<br/>"+</body></html>");

    SBEmailBody.Replace("<name>", mailergrd.Rows[i]["Name"].ToString());

    System.Web.UI.ScriptManager.RegisterStartupScript(this, this.GetType(),     "SendMail"+i, "SendMail('TO@syn.com','" + SBEmailBody.ToString() + "','Greetings     from PDAC','CC@syn.com');", true);

这里是 javascript 部分

function SendMail(to,body,sub,cc)

    var theApp;  
    var theMailItem;  
    var subject = sub;
    var msg = body;
    var carbon = cc;

try

    var theApp = new ActiveXObject("Outlook.Application");        
    var theMailItem = theApp.CreateItem(0);
    theMailItem.To = to;
    theMailItem.Subject = (subject);
    theMailItem.CC = carbon;
    theMailItem.Body = (msg); 
    theMailItem.Display();
  

输出

<html><body><table><tr><td>  JOHN <b> ,</td></tr></table></b> <br/><br/> Welcome <br/>" + "hiii.<br/>" +</body></html>

我正在尝试从客户端发送电子邮件,除了邮件正文外,它工作正常:从后面的代码传递时它不是 html 格式。

【问题讨论】:

【参考方案1】:

您需要将 HTML 格式的字符串传递给 MailItem.HTMLBody 属性,而不是 .Body。

【讨论】:

【参考方案2】:

我认为以前已经回答过很多类似的问题。

Return HTML from ASP.NET Web API 看看它,看看它是否是一个可能的解决方案。

【讨论】:

感谢 Retic 的回复,但 HttpResponseMessage 属性要求创建一个类,而不是我不使用 MVC,您能否在这方面为我提供更多帮助..!

以上是关于如何使用asp.net c#将HTML格式的电子邮件正文传递给javascript函数的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用 C# asp.net web 表单使电子纸动态化

如何在 asp.net C# 中使用启用两因素身份验证的 office365 电子邮件帐户发送电子邮件?

如何在 ASP.NET C# 中发送电子邮件

发送电子邮件 asp.net c#

如何在 C# asp.net 中管理 Facebook api 响应数据?

Asp.net Core-在使用 javascript 或 C# 上传之前选择和验证 excel 文件?