创建.eml文件时如何插入用户签名

时间:2018-10-04 13:13:55

标签: c# smtp

我正在创建一个FileStream .eml文件,用户可以在其默认电子邮件客户端(外观)中打开该文件,并且我想用用户自己的自定义签名填充HTMLBody。

这在本地运行时有效:

private string ReadSignature()
{
    string appDataDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\Microsoft\\Signatures";
    string signature = string.Empty;
    DirectoryInfo diInfo = new DirectoryInfo(appDataDir);

    if(diInfo.Exists)
    {
        FileInfo[] fiSignature = diInfo.GetFiles("*.htm");

        if (fiSignature.Length > 0)
        {
            StreamReader sr = new StreamReader(fiSignature[0].FullName, Encoding.Default);
            signature = sr.ReadToEnd();

            if (!string.IsNullOrEmpty(signature))
            {
                string fileName = fiSignature[0].Name.Replace(fiSignature[0].Extension, string.Empty);
                signature = signature.Replace(fileName + "_files/", appDataDir + "/" + fileName + "_files/");
            }
        }
    }
        return signature;
}

来自此来源:Add the default outlook signature in the email generated

问题是

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

查看服务器而不是客户端的C:\。因此,当我在Web服务器上部署应用程序时,找不到签名。

有人知道我如何从他们的计算机访问用户签名吗?甚至有可能吗?

0 个答案:

没有答案