从链接中打开小尺寸窗口发送使用asp.net生成的电子邮件正文

时间:2014-05-09 10:42:54

标签: asp.net

这是我的代码

System.Text.StringBuilder sb = new System.Text.StringBuilder();
        MailMessage message = new MailMessage("abc@gmail.com", txtEmailId.Text.Trim());
        message.Subject = "Auto email Test";
        message.IsBodyHtml = true;
        string str="http://localhost:55243/WebSiteTest/Accept.aspx?id=" +  txtEmailId.Text.Trim();
        string url = @"<a href="""+str+@""" target='_blank'";
        string str1 = "http://localhost:55243/WebSiteTest/Reject.aspx?id=" + txtEmailId.Text.Trim();
        string url1 = @"<a href=""" + str1 + @""" target='_blank'";
        message.Body = @"<html><body>Thanks For Showing interest in our site. please press "+ url + @">Accept</a>Or "+ url1+">Reject</a></body></html>";        
        SmtpClient client = new SmtpClient();     
        client.Credentials = new NetworkCredential("abc@gmail.com", "password");
        client.Send(message);

当从收到的邮件中单击链接但是作为浏览器中的新选项卡时,它会重定向到aspx页面。 但我需要在屏幕上打开的小窗口中打开页面。 任何帮助!!!!!

先谢谢。

2 个答案:

答案 0 :(得分:1)

你不能这样做。您需要使用javascript打开一定大小的窗口,并通过电子邮件发送客户 - 合理的是 - 不要在电子邮件中运行javascript。

答案 1 :(得分:0)

我相信您所看到的是标记浏览器行为的组合。特别是,您在消息正文中生成的锚标记都包含target =“_ blank”属性。这告诉浏览器在新窗口中打开内容,但是没有指定窗口的大小,所以浏览器似乎只是在已经打开的浏览器中打开一个新选项卡(如果没有打开浏览器的新浏览器实例)一共开了。)

您所看到的行为并非出乎意料。正如Menno van den Heuvel所提到的,你需要JavaScript来为浏览器提供关于窗口大小的明确指示。如果您有兴趣,This w3schools.com link会有一些细节。但是,正如Menno van den Heuvel指出的那样,大多数电子邮件客户端都没有足够的能力来处理JavaScript。