c# - 通过电子邮件发送日志文件?统一

标签 c# email unity-game-engine io

我正在使用 Unity 和 C# 我想在运行时将输出日志文件发送到我的电子邮件,我使用 this question 中的 ByteSheep 答案和 ArkaneX 评论来自 this question附加txt文件,现在我成功发送txt文件,但是如何发送日志文件?我使用此代码设置日志 System.Environment.GetFolderPath(System.Environment.SpecialFolder.LocalApplicationData) + @"\Unity\Editor\Editor.log" 的路径,它确实得到了正确的结果路径,问题是我得到了

IOException: Sharing violation on path

当调用System.Net.Mail.Attachmentattachment = new System.Net.Mail.Attachment(attachmentPath);时。

我想我需要先关闭日志文件,但这可能吗? 也许一种解决方案是复制日志文件并发送新的?那行得通吗?如果是这样怎么办?

感谢任何帮助。

提前致谢,

最佳答案

我遇到了类似的情况并想出了下面的代码。由于程序正在使用日志文件,因此我正在创建它的副本并将其作为电子邮件附件发送。

private string logFilePathS = @Directory.GetCurrentDirectory() + @"\logs\log.txt";
private string logFilePathD = @Directory.GetCurrentDirectory() + @"\logs\log-" + String.Format("{0:dd-MMM-yyyy}", DateTime.Now) + ".txt";

File.Copy(logFilePathS, logFilePathD, true);
mailMessage.Attachments.Add(new Attachment(logFilePathD));

电子邮件发送后,您可以删除创建的新文件。

File.Delete(logFilePathD);

关于c# - 通过电子邮件发送日志文件?统一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44739094/

相关文章:

facebook - 在读取成就的同时请求发布权限

c# - 在 .Net 3.5 中使用 Ninject 时 System.Core 的 System.Io.FileNotFoundException

c# - 传递默认参数值(无论它是什么)

c# - Unity2D 拍摄对象随角色转动但不应该转动

c# - UnityPython 可以在编辑器上工作,但不能在构建上工作

java - 使用java邮件发送批量电子邮件需要太长时间

c# - 如何在 c#.net windows 应用程序中检查 gridview 的行是否被选中

c# - 如何知道调用了哪个构造函数来创建对象实例

Node.js 使用 nodemailer 发送带有图像附件的电子邮件

java - Spring 邮件支持 - 无主题