我正在用C#编写VSTOOutlook插件,我需要区分给定的MailItem是传入还是传出(或者两者都不是,例如草稿)。有什么万无一失的方法吗?我现在拥有的最佳解决方案是获取收件人、抄送和密件抄送列表,从事件帐户加载电子邮件地址,并检查这两个列表是否相交,但这对我来说似乎很脆弱,我希望有更好的解决方案.用例:我想获取电子邮件的相关日期,可以是ReceivedTime或SentOn,但要知道我应该使用哪一个,我需要知道邮件是已发送还是已收到。谢谢你的想法:) 最佳答案 来到这个页面是因为我在VBA中遇到了同样的问题。检查父文件夹很麻烦
我正在使用C#生成和发送电子邮件。邮件消息是html格式的,在调用Send方法之前一切正常,即hrefURL中的aspx之前只有一个点,但是当我在Outlook或任何其他电子邮件客户端中打开已发送的电子邮件时,它显示一个href的双点,如下面的代码所示。ClickHere我的问题:为什么会发生这种情况,有没有办法解决这个问题,比如MailMessage.BodyEncoding的一些特殊编码?我为MailMessage.BodyEncoding使用默认编码(ASCII)。 最佳答案 尝试使用UTF8编码。这应该有效mail.Body
我的Web应用程序向用户发送电子邮件。该电子邮件包含用于进一步用户操作的链接。我们的安全标准要求电子邮件中的链接不可点击。但是,电子邮件客户端会识别电子邮件中的https://并自动链接URL。关于如何阻止电子邮件客户端自动链接的任何想法。我在想如果我跳过https://,它可能会停止自动链接。但是,如果我必须保留https://有什么办法可以避免自动链接。电子邮件中的链接是在C#代码中动态构建的。 最佳答案 我知道这个帖子已经过时了,但我自己也遇到了这个问题,并且对gif图像修复并不满意。如果您正在处理HTML电子邮件,一个稍微好
我有一个带功能区的适用于Outlook2010的最小VSTO插件。我唯一的目标是显示一个没有功能的功能区(通过设计器创建)。从我从MSDN中了解到的一点信息来看,默认情况下应该自动显示功能区,可能需要调整选项卡的ControlIdType/CustomId属性。唉,调整这些属性没有任何作用——Outlook加载和显示没有选项卡。功能区加载器中显示的一个简单消息框显示它从未被触发。此外,我还没有看到任何关于需要手动告诉Outlook显示选项卡的信息资源(教程、演练、概述等)。如何显示标签?除了MSDN之外,是否还有适合VSTO新手的资源? 最佳答案
我有一个winforms应用程序,我正在尝试创建一种方法来创建和打开新的Outlook电子邮件。到目前为止我已经privatevoidCreateOutlookEmail(){try{Outlook.MailItemmailItem=(Outlook.MailItem)this.CreateItem(Outlook.OlItemType.olMailItem);mailItem.Subject="Thisisthesubject";mailItem.To="someone@example.com";mailItem.Body="Thisisthemessage.";mailItem.I
我正在创建一个Outlook2010加载项,并在我的功能区中为idMso="contextMenuMailItem"添加了一个上下文菜单。单击时,我想删除一个类别,但在单击事件处理程序中,当我将ctl.Context转换为MailItem时,它始终为null。publicboolbtnRemoveCategory_IsVisible(Office.IRibbonControlctl){MailItemitem=ctl.ContextasMailItem;//Alwaysnullif(item!=null)return(item!=null&&HasMyCategory(item));e
我想按照说明使用Outlook发送电子邮件here.只要我已经打开Outlook,它就可以正常工作。因此,例如,如果将Outlook最小化并执行我的代码,那么我就可以很好地发送电子邮件。但是,如果Outlook关闭,则会出现异常:{System.Runtime.InteropServices.COMException(0x80004004):Operationaborted(ExceptionfromHRESULT:0x80004004(E_ABORT))atMicrosoft.Office.Interop.Outlook._MailItem.get_Recipients()atOut
我需要通过C#程序读取Outlook收件箱中新邮件的主题、发件人地址和邮件正文。但我收到安全警报“一个程序正在尝试访问您存储在Outlook中的电子邮件地址。你想允许这个吗?通过一些谷歌搜索,我发现很少有第三方COM库可以避免这种情况。但我正在寻找不需要任何第三方COM库的解决方案。 最佳答案 我在访问Outlook邮件项目的发件人电子邮件地址时遇到了同样的问题。为避免“安全警报”,不要创建新的应用程序对象,而是使用Globals.ThisAddIn.Application来创建新的邮件项。stringGetSenderEmail(
我不久前为Outlook编写了一个插件,它在Outlook消息的签名下方添加/删除了一个可选标语。此加载项可以正常工作。我正在编写第二个加载项,它可能需要在其下方添加信息(无论是否存在可选签名),并再次从Word编辑器中引用_MailAutoSig书签。我遇到的问题是这个书签似乎不再出现,我的其他加载项中的书签也没有出现。下面两段代码的一个区别是,第一段代码的MailItem是从ItemSend传递的对象转换而来的,而第二段代码是在ItemSend事件之前处理的。这是我目前正在编写的代码:Word.DocumenttoMsg=msg.GetInspector.WordEditorasW
我编写了这段代码来查看我的outlook邮箱中的未读邮件,代码如下:Microsoft.Office.Interop.Outlook.Applicationapp;Microsoft.Office.Interop.Outlook.Itemsitems;Microsoft.Office.Interop.Outlook.NameSpacens;Microsoft.Office.Interop.Outlook.MAPIFolderinbox;Microsoft.Office.Interop.Outlook.Applicationapplication=newMicrosoft.Office.