Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用c#在电子邮件正文中添加按钮和文本框?_C#_Asp.net_.net - Fatal编程技术网

如何使用c#在电子邮件正文中添加按钮和文本框?

如何使用c#在电子邮件正文中添加按钮和文本框?,c#,asp.net,.net,C#,Asp.net,.net,现在我正在发送字符串文本作为电子邮件正文。但是我应该发送“确定”、“取消”按钮和一些文本。如果用户单击“确定”需要执行一些功能。如果“取消”需要打开一个文本框。请告诉我..查看 您应该生成如下所示的HTML代码: mm.Body = "<h2>This is an HTML-Formatted Email Send Using the <code>IsBodyHtml</code> Property</h2><p>Isn't HTML

现在我正在发送字符串文本作为电子邮件正文。但是我应该发送“确定”、“取消”按钮和一些文本。如果用户单击“确定”需要执行一些功能。如果“取消”需要打开一个文本框。请告诉我..

查看

您应该生成如下所示的HTML代码:

mm.Body = "<h2>This is an HTML-Formatted Email Send Using the <code>IsBodyHtml</code> Property</h2><p>Isn't HTML <em>neat</em>?</p><p>You can make all sorts of <span style=""color:red;font-weight:bold;"">pretty colors!!</span>.</p>";
mm.IsBodyHtml = true;
你将无法运行任何脚本,因为现在大多数邮件客户端都会阻止它。如果您想在电子邮件中包含按钮,则必须插入带有指向您的公共网页链接的图像
要了解谁是单击链接的用户,您还应该在URL中包含一些唯一的Guid…
由于现在许多邮件客户端甚至拒绝加载远程图像,您可能需要盗用电子邮件中的图像

无论如何,这种“远程回调”的示例可能是这样的:

<a href="http://mywebsite.com/buttonclick.aspx?ClickId=[SomeUniqueGuid]><img src="http://mywebsite.com/image.png"></a>


但要明确一点,除非你发明了自己的邮件客户端,否则你没有办法弹出文本框或添加脚本

字符串mbody可能包含html。也可以包括按钮或文本框。 在我的例子中,我使用了stringbulder来构建电子邮件主体

  private string styleTag = "<head><STYLE TYPE='text/css'>body, input, button{color: 
black;background-color: white;font-family: Verdana,Arial,Helvetica;font-size: x-
small;}p{color: #666666;}h1{color: #666666;font-size: medium;}h2{color: 
black;}table{border-collapse: collapse;border-width: 0;border-spacing: 0;width: 90%;table-
layout: auto;}pre{word-wrap: break-word;font-size: x-small;font-family: 
Verdana,Arial,Helvetica;display: inline;}table.WithBorder{border-style: solid;border-color: 
#F1EFE2;border-width: 1px;border-collapse: collapse;width: 90%;}TD{vertical-align: 
top;font-size: x-small;}TD.PropName{vertical-align: top;font-size: x-small;white-space: 
nowrap;background-color: #FFF;border-top: 1px solid #F1EFE2;}TD.PropValue{font-size: x-
small;border-top: 1px dotted #F1EFE2;}TD.Col1Data{font-size: x-small;border-style: 
solid;border-color: #F1EFE2;border-width: 1px;background: #F9F8F4;width: 
auto;}TD.ColData{font-size: x-small;border-style: solid;border-color: #F1EFE2;border-width:
 1px;}TD.ColDataXSmall{font-size: x-small;border-style: solid;border-color: #F1EFE2;border-
width: 1px;width: 5%;}TD.ColDataSmall{font-size: x-small;border-style: solid;border-color: 
#F1EFE2;border-width: 1px;width: 10%;}TD.ColHeadingXSmall{background-color: #F1EFE2;border-
style: solid;border-color: #F1EFE2;border-width: 1px;font-size: x-small;width: 
5%;}TD.ColHeadingSmall{background-color: #F1EFE2;border-style: solid;border-color: 
#F1EFE2;border-width: 1px;font-size: x-small;width: 10%;}TD.ColHeadingMedium{background:
 #F1EFE2;border-style: solid;border-color: #F1EFE2;border-width: 1px;font-size: x-
small;width: 200px;}TD.ColHeading{font-size: x-small;border-style: solid;border-color: 
#F1EFE2;border-width: 1px;background: #F1EFE2;width: auto;}.Title{width:100%;font-size: 
medium;}.footer{width:100%;font-size: xx-small;}</STYLE></head>";

     public string SendEmail(string mTo, string mSubject, string mBody)
        {
            string host = "xxx";
            string str2 = "xxx";
            string userName = "xxx";
            string password = "xxx";
            SmtpClient client = new SmtpClient(host) {
                Port = 0x1b,
                Credentials = new NetworkCredential(userName, password)
            };
            MailAddress from = new MailAddress(str2, userName, Encoding.UTF8);
            MailAddress to = new MailAddress(mTo);
            MailMessage message = new MailMessage(from, to) {
                IsBodyHtml = true,
                Body = mBody,
                Subject = mSubject
            };
            client.Send(message);
            return "email sent";
        }
private string styleTag=“主体,输入,按钮{颜色:
黑色;背景色:白色;字体系列:Verdana、Arial、Helvetica;字体大小:x-
小;}p{颜色:#666666;}h1{颜色:#666666;字体大小:中;}h2{颜色:
黑色;}表格{边框折叠:折叠;边框宽度:0;边框间距:0;宽度:90%;表格-
布局:自动;}pre{word wrap:break-word;字体大小:x-small;字体系列:
Verdana,Arial,Helvetica;显示:内联;}表格。带边框{边框样式:纯色;边框颜色:
#F1EFE2;边框宽度:1px;边框折叠:折叠;宽度:90%;}TD{垂直对齐:
top;字体大小:x-small;}TD.PropName{垂直对齐:top;字体大小:x-small;空白:
nowrap;背景色:#FFF;边框顶部:1px实心#F1EFE2;}TD.PropValue{font size:x-
小;边框顶部:1px虚线#F1EFE2;}TD.Col1Data{字体大小:x-small;边框样式:
纯色;边框颜色:#F1EFE2;边框宽度:1px;背景:#F9F8F4;宽度:
auto;}TD.ColData{font size:x-small;边框样式:纯色;边框颜色:#F1EFE2;边框宽度:
1px;}TD.ColDataXSmall{font size:x-small;边框样式:纯色;边框颜色:#F1EFE2;边框-
宽度:1px;宽度:5%;}TD.ColDataSmall{font size:x-small;边框样式:纯色;边框颜色:
#F1EFE2;边框宽度:1px;宽度:10%;}TD.ColHeadingXSmall{背景色:#F1EFE2;边框-
样式:纯色;边框颜色:#F1EFE2;边框宽度:1px;字体大小:x-small;宽度:
5%;}TD.ColHeadingSmall{背景色:#F1EFE2;边框样式:纯色;边框颜色:
#F1EFE2;边框宽度:1px;字体大小:x-small;宽度:10%;}TD.ColHeadingMedium{background:
#F1EFE2;边框样式:纯色;边框颜色:#F1EFE2;边框宽度:1px;字体大小:x-
小;宽度:200px;}TD.ColHeading{font size:x-small;边框样式:纯色;边框颜色:
#F1EFE2;边框宽度:1px;背景:#F1EFE2;宽度:自动;}。标题{宽度:100%;字体大小:
中等;}。页脚{宽度:100%;字体大小:xx小;}”;
公共字符串sendmail(字符串mTo、字符串mSubject、字符串mBody)
{
字符串host=“xxx”;
字符串str2=“xxx”;
字符串userName=“xxx”;
字符串密码=“xxx”;
SmtpClient=新SmtpClient(主机){
端口=0x1b,
凭据=新网络凭据(用户名、密码)
};
MailAddressFrom=新的邮件地址(str2,用户名,Encoding.UTF8);
邮寄地址至=新邮寄地址(mTo);
MailMessage=新的MailMessage(从,到){
IsBodyHtml=true,
Body=mBody,
Subject=mssubject
};
客户端。发送(消息);
返回“已发送电子邮件”;
}

查看您从Facebook收到的电子邮件,并浏览它们的HTML。不要在电子邮件中使用JavaScript。每个按钮都应该链接到一个有作用的网页。你需要使用HTML电子邮件。假设您使用的是基本的.NET emailer,我认为这意味着在电子邮件正文对象上将IsHTML属性设置为true。尽管如此,我们仍然不清楚您的问题是HTML还是告诉.NET以HTML的形式发送。一些代码和一些更清晰的解释可能会有所帮助。有人请告诉我,我正在发送放置在两个按钮上的html内容。如何处理他们的点击事件吗?@user1237131正如我在回答中所说,你不能