如何在C#中通过电子邮件发送本地链接(共享服务器链接)?

如何在C#中通过电子邮件发送本地链接(共享服务器链接)?,c#,html,file,hyperlink,datatables,C#,Html,File,Hyperlink,Datatables,我正在开发一个应用程序,它可以向公司的员工发送电子邮件。该电子邮件包含一个指向共享服务器文件夹中pdf文件的超链接 服务器文件夹的url示例: \\server_name\folder_parent\folder_child\file.pdf 在我的C#代码中,我使用一个字符串来包含html代码,如下所示 private static string getHTML(DataTable dt) { string myBuilder = ""; myBuilder +=

我正在开发一个应用程序,它可以向公司的员工发送电子邮件。该电子邮件包含一个指向共享服务器文件夹中pdf文件的超链接

服务器文件夹的url示例:

\\server_name\folder_parent\folder_child\file.pdf
在我的C#代码中,我使用一个字符串来包含html代码,如下所示

private static string getHTML(DataTable dt) {   
     string myBuilder = "";
     myBuilder += "<table id='customers' style='font-family: 'Trebuchet MS', Arial, Helvetica, sans-serif; width: 100%; border-collapse: collapse;'";
     myBuilder += "<tr>";
     foreach (DataColumn myColumn in dt.Columns)
     {
         myBuilder += "<th style='font-size: 1.1em; border: 1px solid #98bf21; padding: 5px 7px 4px 7px;background-color: #A7C942;'>";
         myBuilder += myColumn.ColumnName;
         myBuilder += "</th>";
     }    
     myBuilder += "</tr>";
     int count = 0;
     foreach (DataRow myRow in dt.Rows)
     {
         myBuilder += "<tr>";
         if (count % 2 == 0)
         {                    
            foreach (DataColumn myColumn in dt.Columns)
            {
                 myBuilder += "<td style='font-size: 1em; border: 1px solid #98bf21; padding: 3px 7px 2px 7px;'>";
                 if (myColumn.ColumnName == "Address")
                 {
                     myBuilder += "<a href='" + myRow[myColumn.ColumnName].ToString() + "' style='display:block;'>Link!</a>";
                 }
                 else
                 {                                                       
                     myBuilder += myRow[myColumn.ColumnName].ToString();
                 }
                 myBuilder += "</td>";
             }
         }
         else
         {
             foreach (DataColumn myColumn in dt.Columns)
             {
                 myBuilder += "<td style='font-size: 1em; border: 1px solid #98bf21; padding: 3px 7px 2px 7px; color: #000000; background-color: #EAF2D3;'>";
                 if (myColumn.ColumnName == "Address")
                 {                         
                     myBuilder += "<a href='" + myRow[myColumn.ColumnName].ToString() + "' style='display:block;'>Link!</a>";
                 }
                 else
                 {
                      myBuilder += myRow[myColumn.ColumnName].ToString();
                 }
                 myBuilder += "</td>";
             }
         }        
         count++;
         myBuilder += "</tr>";
     }
     myBuilder += "</table>";
     return myBuilder;
 }
因此,当我在chrome(mail.google.com)上打开电子邮件时,包含本地链接的链接不起作用,并且文本中没有超链接

我试过使用http链接,比如谷歌或facebook,但效果并不理想,正如下图所示

关于
文件://
,我尝试编写一个html文件,结果成功了

<td><a href="file:///\\server_name\folderA\folderB\file.pdf">LINK</a></td>

我知道这是旧胎面,但我也有同样的问题

我不是将地址作为链接发送,而是在打开和关闭雪佛龙内部发送网络位置,这样outlook将其作为一个整体链接

所以我们有内部网应用程序,它向员工发送网络文件位置,所有员工都使用outlook。我正在发送像您一样的文件位置

\\服务器\名称\文件夹\父文件夹\子文件夹\文件.pdf

代码如下:

myBuilder += @"&lt;\\server_name\folder_parent\folder_child\file.pdf&gt;";
PS:MyMailMessage实例具有utf8编码

mail.BodyEncoding = Encoding.UTF8;

我知道这是旧胎面,但我也有同样的问题

我不是将地址作为链接发送,而是在打开和关闭雪佛龙内部发送网络位置,这样outlook将其作为一个整体链接

所以我们有内部网应用程序,它向员工发送网络文件位置,所有员工都使用outlook。我正在发送像您一样的文件位置

\\服务器\名称\文件夹\父文件夹\子文件夹\文件.pdf

代码如下:

myBuilder += @"&lt;\\server_name\folder_parent\folder_child\file.pdf&gt;";
PS:MyMailMessage实例具有utf8编码

mail.BodyEncoding = Encoding.UTF8;

为文件夹创建网络共享,而不是使用服务器path@Gregg:您能告诉我更多详细信息吗?可能重复创建文件夹的网络共享,而不是使用服务器path@Gregg:你能告诉我更多的细节吗?可能是