通过c#获取Outlook电子邮件地址

2023-11-26

我需要能够使用 C# 代码获取当前登录用户的电子邮件地址。

我需要完整的地址,而不仅仅是假定的电子邮件帐户(例如使用[电子邮件受保护]),尽管这适用于大多数客户。

任何帮助将不胜感激。


试试这个,从http://msdn.microsoft.com/en-us/library/ff462091.aspx:

using System;
using System.Text;
using Outlook = Microsoft.Office.Interop.Outlook;

namespace OutlookAddIn1
{
    class Sample
    {
        public static void DisplayAccountInformation(Outlook.Application application)
        {

            // The Namespace Object (Session) has a collection of accounts.
            Outlook.Accounts accounts = application.Session.Accounts;

            // Concatenate a message with information about all accounts.
            StringBuilder builder = new StringBuilder();

            // Loop over all accounts and print detail account information.
            // All properties of the Account object are read-only.
            foreach (Outlook.Account account in accounts)
            {

                // The DisplayName property represents the friendly name of the account.
                builder.AppendFormat("DisplayName: {0}\n", account.DisplayName);

                // The UserName property provides an account-based context to determine identity.
                builder.AppendFormat("UserName: {0}\n", account.UserName);

                // The SmtpAddress property provides the SMTP address for the account.
                builder.AppendFormat("SmtpAddress: {0}\n", account.SmtpAddress);

                // The AccountType property indicates the type of the account.
                builder.Append("AccountType: ");
                switch (account.AccountType)
                {

                    case Outlook.OlAccountType.olExchange:
                        builder.AppendLine("Exchange");
                        break;

                    case Outlook.OlAccountType.olHttp:
                        builder.AppendLine("Http");
                        break;

                    case Outlook.OlAccountType.olImap:
                        builder.AppendLine("Imap");
                        break;

                    case Outlook.OlAccountType.olOtherAccount:
                        builder.AppendLine("Other");
                        break;

                    case Outlook.OlAccountType.olPop3:
                        builder.AppendLine("Pop3");
                        break;
                }

                builder.AppendLine();
            }

            // Display the account information.
            System.Windows.Forms.MessageBox.Show(builder.ToString());
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过c#获取Outlook电子邮件地址 的相关文章

随机推荐

  • 如何为 CSS 自定义属性设置“inherit”值? [复制]

    这个问题在这里已经有答案了 将自定义属性设置为值inherit完全符合您对其他所有 CSS 属性的期望 它继承其父级的相同属性值 普通财产继承
  • 为什么集合初始值设定项末尾可以有逗号?

    这个问题一直让我困惑 但我猜对于为什么会发生这种情况有一个非常合理的解释 当您有集合初始值设定项时 编译器允许尾随逗号 例如 new Dictionary
  • 是否有一个 cordova 插件可以从 config.xml 读取值?

    我希望从我的 Cordova PhoneGap 应用程序中读取这些值config xml在运行时 name 版权 描述 然而 很惊讶地发现没有 ConfigAPI 参考指南中的功能 http cordova apache org docs
  • 如何知道片段何时在 viewpager 中实际可见

    我在 ViewPager 中使用 4 个片段 因为 ViewPager 提前加载上一个和下一个片段 并且在片段之间导航时不会调用生命周期方法 那么有没有什么方法可以检测 Fragment 何时真正可见 提前致谢 根据 Matt的回答setU
  • 附加到末尾时,python utf-8-sig BOM 位于文件中间

    我最近注意到 Python 在使用以下命令附加到文件时的行为方式并不明显utf 8 sig编码 见下文 gt gt gt import codecs os gt gt gt os path isfile 123 False gt gt gt
  • 我应该如何按索引顺序迭代稀疏数组?

    我有一个稀疏数组 其内容不能保证按索引顺序插入 但需要按索引顺序迭代 要迭代稀疏数组 我知道您需要使用 for in 语句 然而 根据本文 不保证 for in 将以任何特定顺序返回索引 But 像这样的计算器问题建议虽然不能保证对象属性顺
  • 插入标识列的 BCP 格式是什么

    我在尝试使用 BCP 将数据插入表时遇到问题 该表有一个标识列 我正在从文本文件中获取输入 如果有什么好的解决办法请告知 问候 茶颜 我需要做同样的事情 我的同事指出您可以使用 BCP 上的 E 开关来执行此操作 从文档中 E 指定导入的数
  • 在内存警告(Apple 文档缺陷)中卸载 iOS 6 中的视图的正确方法是什么?

    在 iOS 6 中 viewWillUnload and viewDidUnload已弃用 并且 UIViewController 不再卸载内存警告期间屏幕上不可见的视图 这查看控制器编程指南有一个如何手动恢复此行为的示例 这是代码示例 v
  • 如何在 PHP 中正确拆分 PATH 变量?

    我想分开 path getenv PATH 进入其组件 如何以依赖于操作系统的方式确定分隔符 您可以使用PATH SEPARATOR常数 则DIRECTORY SEPARATOR如果需要的话 用于分割路径的常量 看Directory Pre
  • C++ 编译器/链接器是否允许删除未使用的方法?

    C 编译器或链接器 根据任何 C 标准 是否允许删除未使用的方法 编译器似乎可以删除未使用的静态函数 链接器可以删除未使用的函数 但我没有找到类方法的信息 当方法是虚拟的时 这变得非常有趣 Yes 如果该方法未使用 则无法知道它已被删除 因
  • 什么时候真正需要填充共享内存?

    我对 NVidia 的 2 个文档感到困惑 CUDA 最佳实践描述了共享内存是按bank组织的 一般来说在32位模式下每4个字节就是一个bank 我就是这么理解的 然而使用 CUDA 并行前缀和 扫描 详细介绍了由于库冲突而应如何将填充添加
  • NSTimer 无效时不停止

    我的 h 文件中有以下代码 import
  • 为什么大多数 JVM gc 不使用引用计数?

    为什么他们不需要它们 如果有人决定实现使用它们的虚拟机 他们可能会面临什么问题 由于循环引用 引用计数容易出现内存泄漏 想象一下 您有一个简单的 节点 对象 它具有对另一个节点的引用 并假设您将其引用设置为自身 即使全局变量或堆栈变量没有指
  • 使用 .htaccess 删除 .php 扩展名而不破坏 DirectoryIndex

    我在 htaccess 文件中进行了以下重写 从文件中删除了 php 扩展名 例如进行转换so com question php to so com question RewriteEngine On RewriteCond REQUEST
  • 如何从批处理文件中读取注册表字符串值

    我想从bat 文件中读取注册表字符串值 然后将读取器值分配给变量 我尝试了以下操作 FOR a in REG QUERY HKLM SOFTWARE MathWorks MATLAB 7 10 v MATLABROOT DO set MAT
  • 如何将列名作为参数传递给 dplyr 中的函数?

    我想做同样的事情here但有了 dplyr 和多一列 我想通过字符串变量选择一列 但在顶部我还想正常选择第二列 我需要这个 因为我有一个函数可以通过给定的参数选择几列 我有以下代码作为示例 library dplyr data cars x
  • 布局中的 SurfaceView

    所以我做了很多搜索 但似乎仍然找不到 SurfaceView 不显示的确切原因 这是我正在做的事情的一些背景 我有一个水平设置的线性布局 它包含一个 ImageView 然后是一个垂直的 LinearLayout 最后是另一个 ImageV
  • 符合 HTML5 - 类属性中的尾随空格

    我知道从技术上讲 HTML5 是一个 活的规范 但我想知道在类名中包含尾随空格是否符合要求 我在规范中没有看到任何对此场景的引用 但我的一位队友说这是无效的 也许我错过了什么 修剪这些空间会很痛苦 我正在一个大型 Java ecom 应用程
  • 将 Rails 中的主键更改为字符串

    所以我有两个模型 状态和获取 状态 has many 收购 我觉得 51 条记录的自动递增整数主键相当愚蠢 因此 我将 State 的模型更改为 PK State 是两个字母的缩写 我不会在任何地方存储实际的州名称 class State
  • 通过c#获取Outlook电子邮件地址

    我需要能够使用 C 代码获取当前登录用户的电子邮件地址 我需要完整的地址 而不仅仅是假定的电子邮件帐户 例如使用 电子邮件受保护 尽管这适用于大多数客户 任何帮助将不胜感激 试试这个 从http msdn microsoft com en