如何通过C#中的电子邮件发送本地链接(共享服务器链接)?
问题描述:
我正在实施一个应用程序,该应用程序向公司的员工发送电子邮件。该电子邮件包含一个指向共享服务器文件夹上的pdf文件的超链接。如何通过C#中的电子邮件发送本地链接(共享服务器链接)?
服务器文件夹的URL示例:
\\server_name\folder_parent\folder_child\file.pdf
在我的C#代码,我用一个字符串包含像下面
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;
}
此代码从数据表,并显示获取数据的代码的html代码它就像一个HTML代码表。
这是DataTable的
dt.Rows.Add("bala", "24", "http://www.google.com", "999444444");
dt.Rows.Add("chendur", "23", "http://www.facebook.com", "9999999999");
dt.Rows.Add("chchandru", "22", @"file:///\\server_name\folderA\folderB\file.pdf", "888888888");
数据所以,当我打开铬(mail.google.com)的电子邮件中,链接包含链路本地没有工作,没有在该文本超链接没有。
我尝试使用http链接,如谷歌或脸书和工作,但文件链接没有从你可以从下面的图片看到。
关于file:///
,我试着写一个HTML文件和工作。
<td><a href="file:///\\server_name\folderA\folderB\file.pdf">LINK</a></td>
我读过很多关于这方面的文章,他们说“安全问题”。
事情是这个应用程序只在同一家公司的员工之间发送电子邮件,他们使用共享服务器使用互联网和发送电子邮件。 (公司内的所有电脑连接到同一台服务器)。
那么是否有任何可能的方式发送本地链接像这种情况?如果没有,我是否有任何可能的解决方案来解决这种情况?要求只是“你点击了你的电子邮件中的一个链接,它会自动在本地链接上打开一个文件。”
P/S:当然,我得到这个
MailMessage completeMessage = new MailMessage(From, To, Subject, mailBody);
completeMessage.IsBodyHtml = true;
答
我知道这是一个古老的胎面,但我有同样的问题..
而不是发送地址为纽带,我送的网络位置在开启和关闭V形图内,这种方式展望整个链接。 details
因此,我们有Intranet应用程序,它向员工发送网络文件位置,并且所有员工都使用Outlook。我送文件的位置像你
\\服务器\ folder_parent \ folder_child \ file.pdf
与下面的代码:
myBuilder += @"<\\server_name\folder_parent\folder_child\file.pdf>";
PS:我的实例MAILMESSAGE有utf8编码。
mail.BodyEncoding = Encoding.UTF8;
为该文件夹创建网络共享而不是使用服务器路径 – Gregg
@Gregg:您能否给我更多详细信息? –
[Windows共享文件夹的URL]的可能重复(http://stackoverflow.com/questions/5796215/an-url-to-a-windows-shared-folder) –