mailmessage附件到字节[]
我一直在搜索Google/So在过去的3天中,没有成功,希望有人可以帮助或指向正确的方向. 我们有一种发送电子邮件的方法(带有过载的方法).我的任务是将电子邮件保存到数据库中. 问题 如何将附件的内容提取到byte[]中以将其保存到数据库中? 我已经阅读了很多将附件保存到磁盘的样本,但是我想避免保存到磁盘,然后将其阅读到内存中(也许这就是为什么我没有找到任何东西,因为这是不可能的,请怀疑). 解决方案 所以我认为您的要求是如何将流转换为字节,那么您就不必将其保存到磁盘上.您可以使用此扩展方法来做到这一点. public static class StreamExtensions { public static byte[] ReadAllBytes(this Stream instream) { if (instream is MemoryStream) return ((MemoryStream)
4 2024-04-24
编程技术问答社区
英雄卡图像附件未加载
我正在使用代码 private static Attachment HeroCard() { var hc = new HeroCard { Images=new List { new CardImage(@"C:\Users\.....\imgs\testImage.jpg") } }; return hc.ToAttachment(); } 将图像加载到英雄卡的附件中.这很好,但是 我尝试使用本地文件夹,而不是E.x @"~\imgs\testImage.jpg" 图像无法加载.我尝试了其他有关其他格式 没有成功的道路.我想念什么? 解决方案 尝试使用本地文件夹@"~\imgs\testImage.jpg" 似乎您的图像文件存储在您的项目imgs文件夹中,您想将图像发送给客户端.您可以尝试使用System.Web.HttpContext.Current.Server.M
0 2024-04-23
编程技术问答社区
如何用c#语言将RAR文件附加到电子邮件中?
我想发送一封电子邮件,该电子邮件使用以下代码具有多个附件,但对于RAR文件不起作用.问题是什么? 对于每个附件,我都有一个包含附件文件及其内容的属性的类: public class AttachmentFile { [StringLength(200)] public string FileName { get; set; } [StringLength(15)] public string Extension { get; set; } [StringLength(100)] public string Signature { get; set; } public byte[] Content { get; set; } [StringLength(500)] public string FullPath { get; set; } } 此处显示的发送方法: public void Send(st
4 2024-04-22
编程技术问答社区
如何在TFS中把一个文件附加到工作项目上,而不需要物理文件路径?
我有一个类型Microsoft.Office.Interop.Outlook.Attachment的对象,我想将其附加到TFS工作项目(Microsoft.TeamFoundation.WorkItemTracking.Client.Microsoft.TeamFoundation.WorkItemTracking.Client) 不幸的是,我发现了需要一种需要文件的物理路径添加附件的一种方法.但是就我而言,我的内存中有一个文件(Microsoft.Office.Interop.Outlook.Attachment类型). 如何将文件连接到TFS工作项目? 注意:此代码不是我的问题的回答: workItem.Attachments.Add(new Attachment("PATH OF MY ATTACHMENT", "COMMENT ABOUT ATTACHMENT")); 因为我没有任何路径.另外,我不想将文件保存到硬盘中,因为这种方式的性能非常不好.
0 2024-04-22
编程技术问答社区
C# 电子邮件对象流转到附件
我正在尝试创建并从列表列表的对象创建并发送电子邮件附件.我找到了一个有记录的答案在这里,但仍然有一些混乱. 它提到"获取一些二进制数据" //Get some binary data byte[] data = GetData(); 我已经测试了我的数据: Console.WriteLine(ieLog.FirstName + "." + ieLog.LastName); 我猜我的问题是,如果还没有一个流,我该如何将其变成流,然后使用: : //save the data to a memory stream MemoryStream ms = new MemoryStream(data); 然后发送附件? 感谢您的任何帮助或提示. ,如果我无法弄清楚,我想成为Excel Doc或CSV.我敢肯定,这种事情已经有类似的类别,新生在哪里寻找这种信息? 解决方案 我直接在浏览器中写了它,但是应该可以: ... byte[] d
10 2024-04-21
编程技术问答社区
Microsoft Graph-通过C#保存文件附件?
是否可以通过Microsoft Graph API将文件附件保存在C#中? 我知道我可以获得附件的属性( https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/atpi/attachment_get_get_get ) - 我们还可以将其保存到某个位置? 解决方案 当您获得附件属性时,它们将包含有关附件的信息. 有附件. 首先,检查属性'@odata.type中的附件类型,并相应地处理它们. 对于fileAttachment类型,它们包含contentLocation属性,附件内容的URI . 您可以从URI下载附件. 其他解决方案 一旦您获得了特定的Microsoft图形消息,例如将其传递到方法作为参数.然后,您需要提出另一项请求,以通过消息ID获取附件,通过附件迭代并将其施放到FileAttachment以访问ContentBytes属性,最后将此字
2 2024-04-21
编程技术问答社区
C# 从邮件附件中获取文件名
我有一个简单的C#应用​​程序,该应用程序发送SMTP电子邮件(使用System.net.mail类).发送(电子邮件)邮件对象后,我想通过附件列表迭代并删除与这些附件相关的原始文件...但是我很难找到与每个附件相关的完整文件路径自己收集附件filepaths.必须有一种从附件对象提取完整文件路径的好方法. 我知道这一定很简单,但是我在这方面花了很多时间. 解决方案 您可以 阅读 attachment.contents.contentstream.contentstream 如果您现在有一个流程阅读器或类似程序,请使用 baseStream 属性尝试找到内部文件stream 阅读 filestream.name.name 但请记住,邮件消息(因此附件及其流)可能不会立即收集或清理,因此您可能无法立即删除文件.您可能会执行更好的子类附件,并记录文件名和子类处置(在基本处置后执行)以进行删除,如果您确实需要以这种方式进行操作. 其他解决方案 如果您通过fil
10 2024-04-19
编程技术问答社区
在ASP.NET中以编程方式发送带附件的邮件
我根据ASP.NET中的GridView -Excel电子表格和HTML文件动态生成多种类型的文件.我正在使用此代码(这仅适用于Excel电子表格): Response.Clear(); Response.AddHeader("content-disposition", "attachment;filename=InvoiceSummary" + Request.QueryString["id"] + ".xls"); Response.Charset = ""; Response.ContentType = "application/vnd.xls"; System.IO.StringWriter stringWrite = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite); contents.R
8 2024-04-18
编程技术问答社区
只保存一个Outlook邮件的真实附件
我目前正在开发一个Outlook addin,该Addin将MailItems和附件保存在我的MSSQL数据库中. 我得到了一种方法,可以将MailItem保存在所有附件中.但是,如果我保存所有附件,也保存了MailItem中的嵌入式图像. 有人知道如何保存全部 real 附件吗?我的意思是喜欢下图中的附件: 而不是邮件主体中的嵌入图像. 这是我用来循环循环的代码,然后保存它: foreach (Outlook.Attachment att in mailItem.Attachments) { try { att.SaveAsFile(Path.GetTempPath() + att.FileName); var fi = new FileInfo(Path.GetTempPath() + att.FileName); //Saving attachment to DB
4 2024-04-18
编程技术问答社区
在C#中设置电子邮件附件名称
我添加了这样的附件: System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(AttachmentPath); msg.Attachments.Add(attachment); ,但我想将其作为另一个名称附加,实际文件名非常长,令人困惑,我希望它以" file.txt"的形式附加,而无需制作一个简单的方法文件的副本? 解决方案 怎么样: System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(attachmentPath); attachment.Name = "file.txt"; // set name here msg.Attachments.Add(attachment); 其他解决方案 您需要从流中加载附件,然后可以给它一个名称和媒体类型. var fs =
4 2024-04-17
编程技术问答社区
发送用户用邮件选择的附件
问题: 我希望用户可以向我发送带有附件的邮件.他们可以在HTML中使用输入文件按钮选择文件.问题是它找不到文件.它可以很好地工作,没有附件. 我得到此错误 文件C:程序文件(x 86)ExpressGipenglish .pptx IIS找不到. 有人有任何想法吗? 我尝试的是: 尝试首先将文件上传到该位置,但仍然不起作用. 输入文件按钮   c#代码 System.Net.Mail.Attachment attachment; attachment = new System.Net.Mail.Attachment(System.IO.Path.GetFileName(File1.PostedFile.FileName)); MailMessage mail = new MailMes
2 2024-04-17
编程技术问答社区
如何使用Google API版本2在Google Apps日历中添加 "附件"?
我正在使用Google API版本2 fo .NET来创建Google日历条目. 如何在Google日历中添加"附件"? thanx 解决方案 对于所有未来的后代阅读此书,现在都支持附件,这里是有关如何做的指南: https://developers.google.com/google-apps/calendar/calendar/create-events#attachments 其他解决方案 我试图自己找到这个问题的答案,然后使用日历api feeds ,我很确定当前没有一种检索或更新文件附件的方法.由于日历事件文件附件是Google的实验室功能,因此尚未通过公共API提供它们并不完全奇怪. 取决于您要做的事情,可以使用扩展属性在事件中存储有关附件的其他信息,但是这些值不会由日历Web客户端读取,因此您只能将它们用于自己的应用程序. 其他几件事(当然是黑客)您可以尝试: Google提供的ICal提要 日历提供一个附件: 财产.您可以使用您的应
2 2024-04-16
编程技术问答社区
从SOAP响应中获取附件并保存文件
我正在消费网络服务,该网络服务在肥皂中带有附件. 我使用Postman捕获的响应是 --MIMEBoundaryurn_uuid_C455EAC131FBC506CE1521805985220 Content-Type: text/xml; charset=UTF-8 Content-Transfer-Encoding: 8bit Content-ID:
2 2024-04-16
编程技术问答社区
如何使用OpenPop保存电子邮件附件
我创建了一个Web电子邮件应用程序,如何 view 和保存附加文件? 我正在使用 openpop ,第三方DLL,我可以发送带有附件的电子邮件并阅读没有附件的电子邮件. 这很好: Pop3Client pop3Client = (Pop3Client)Session["Pop3Client"]; // Creating newPopClient int messageNumber = int.Parse(Request.QueryString["MessageNumber"]); Message message = pop3Client.GetMessage(messageNumber); MessagePart messagePart = message.MessagePart.MessageParts[1]; lblFrom.Text = message.Headers.From.Address; // Writeing message. lblSubject.
4 2024-04-15
编程技术问答社区
如何从Bot框架C#中读取附件内容?
我正在编写一个机器人,并期望用户向我发送一个附件,我想阅读并翻译成对象. 我到目前为止有以下代码: if (message.Attachments != null && message.Attachments.Any()) { var attachment = message.Attachments.First(); using (HttpClient httpClient = new HttpClient()) { if ((message.ChannelId.Equals("skype", StringComparison.InvariantCultureIgnoreCase) || message.ChannelId.Equals("msteams", StringComparison.InvariantCultureIgnoreCase)) && new Uri(attachment.ContentUrl).Host.EndsW
4 2024-04-14
编程技术问答社区
不要保存包含在附件中的嵌入图像(如签名图像)。
我在C#中的VSTO上工作.当我单击按钮时,我将附件保存在文件夹中.我的问题是:当我在签名中带有图像的丰富电子邮件时,我的附件中有一个元素.但是我不想保存该图像. Outlook(应用程序)将此附件隐藏在区域附件中!那为什么不我: - ( 我的代码非常简单: MailItem MailItemSelected = this.OutlookItem; foreach (Attachment a in MailItemSelected.Attachments) { a.SaveAsFile(path + a.FileName); } ,但我找不到测试,不要保存签名的图像. 解决方案 我找到了解决方案的一部分. 当您创建电子邮件时,嵌入的图像大小为0.因此,您可以排除此内容. ,但是当我阅读电子邮件时,这是不对的. MailItem MailItemSelected = this.OutlookItem; foreach (Attach
6 2024-04-14
编程技术问答社区
文件作为附件发送后被锁定
我将文件作为附件发送: // Create the file attachment for this e-mail message. Attachment data = new Attachment(filePath, MediaTypeNames.Application.Octet); // Add time stamp information for the file. ContentDisposition disposition = data.ContentDisposition; disposition.CreationDate = System.IO.File.GetCreationTime(filePath); disposition.ModificationDate = System.IO.File.GetLastWrite
4 2024-04-12
编程技术问答社区
EWS: 从签名的电子邮件中检索附件
我有一个C#程序,该程序通过检索附件并将电子邮件分类为子文件夹来管理资源邮箱.最近出现了一个问题,客户希望向我们发送签名的电子邮件,因此,当程序检索其附件时,保存了名为" smime.p7m"的文件而不是文件附件.当在Outlook中查看电子邮件时,此文件不存在,只有我们想要的附件.但是,踏入代码时,电子邮件对象中列出的附件仅包含此.p7m文件. 我已经从电子邮件中检索了MIME内容,但这只是字节.当我在文本编辑器中查看.p7m文件时,我会看到我想要的文件内容(s)的内容(终极挑逗)!我如何获得原始附件而无需解析.p7m文件以获得感兴趣的内容? Exchange Server是2010 SP2,这一切都是通过使用EWS托管API的C#程序进行的. 解决方案 您可以使用 EnvelopedCMS 类从加密附件中获取哑剧.假设您的安全上下文可以访问密钥. byte[] content = ...The byte[] from the smime.p7m attach
16 2024-04-12
编程技术问答社区
如何使用System.Net.Mail在邮件中添加附件?
我有一个表示为字节[]的Excel文档,我想在电子邮件中将其作为附件发送. 我在构建附件时遇到了一些麻烦. 我可以创建一个具有以下构造函数的附件: (Stream contentStream, ContentType contentType) (Stream contentStream, string name) (Stream contentStream, string name, string mediaType) 我目前的想法是从字节[]创建一个内存流,并将其传递给创建附件的方法. 不幸的是,我看不到一种从内存流中获取预期的文件名和内容类型的方法,我也看不到如何提供正确的内容类型.有一些纯文本,PDF,RTF等的选项,但是我可以看到,我应该立即将其作为我应该使用的Excel文档的选择. 我能找到的最接近的是 mediatypenames.application.octet 哪个说明: 八位位组成员指定 附件包含通用二进制 数据. 但是,
6 2024-04-12
编程技术问答社区
C# MailTo with Attachment?
目前,我正在使用以下方法来打开用户Outlook电子邮件帐户,并填充一封电子邮件,其中包含以下相关内容: public void SendSupportEmail(string emailAddress, string subject, string body) { Process.Start("mailto:" + emailAddress + "?subject=" + subject + "&body=" + body); } 但是,我想能够使用附带的文件填充电子邮件. 类似: public void SendSupportEmail(string emailAddress, string subject, string body) { Process.Start("mailto:" + emailAddress + "?subject=" + subject + "&body=" + body +
8 2024-04-10
编程技术问答社区