无法将附件文件添加到来自c#的电子邮件中
需要使用c#程序中的附件打开电子邮件客户端。无法将附件文件添加到来自c#的电子邮件中
下一个C#样品不能打开电子邮件客户端(Outlook)中与附加的文件,并显示错误信息
命令行参数是无效的。验证使用的开关是 。
[Test]
public void FileToEmailClient()
{
string testDataFilePath = @"..\..\Data\test.txt";
Assert.That(File.Exists(testDataFilePath), Is.True);
string subject = String.Format("File {0} attached", Path.GetFileName(testDataFilePath));
string body = "body";
string command = String.Format("mailto:?subject={0}&body={1}&attachment=\"{2}\"", subject, body, testDataFilePath);
Process.Start(command);
}
我不知道,如果“电子邮件地址”是正确的命令,但我认为你应该能够找到答案的Command-line switches for Outlook for Windows
试试这个(请用你的价值观一样的Outlook.exe的路径替换)
var outlookPath = @"C:\Program Files\Microsoft Office 15\root\office15\OUTLOOK.EXE";
var command = @"/a ""C:\Temp\Signature.txt"" /m ""[email protected]&[email protected]&subject=subject&body=body""";
Process.Start(outlookPath, command);
如果没有“附件”部分,该命令将起作用:使用定义的主题和正文打开Outlook。但我需要发送带有附件的电子邮件。 – constructor
暂时忽略C#,只需尝试放入命令行,cd到Office目录并尝试使用'/ a'开关将'OUTLOOK.EXE'传递给文件。对我来说,这工作得很好。 –
我尝试从Windows菜单运行mailto:?subject = File test.txt附件&body = body&attachment =“.. \\ .. \\ Data \\ test.txt”并显示相同的错误 – constructor
从一个快速的互联网搜索,前景似乎并不支持附件。另外,您可能需要指定电子邮件地址。 –
从Windows资源管理器中,我可以借助上下文菜单命令“发送到|邮件收件人”打开带有附件的Outlook。所以,我想要实现相同的行为。 – constructor