首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过C#通过Outlook发送电子邮件的查询有什么问题?

通过C#通过Outlook发送电子邮件的查询有什么问题?
EN

Stack Overflow用户
提问于 2014-11-01 17:58:09
回答 1查看 457关注 0票数 0

下面的图片是我在Application上遇到的问题。我试着添加

Outlook.Application Application = new Outlook.Application();

但什么都没变

我将命名空间添加为using Outlook = Microsoft.Office.Interop.Outlook;

代码语言:javascript
运行
复制
    #region Send Email
    private void SendEmail()
    {
        string subjectEmail = "Meeting has been rescheduled.";
        string bodyEmail = "Meeting is one hour later.";
        Outlook.MAPIFolder sentContacts = (Outlook.MAPIFolder)
            this.Application.ActiveExplorer().Session.GetDefaultFolder
            (Outlook.OlDefaultFolders.olFolderContacts);
        foreach (Outlook.ContactItem contact in sentContacts.Items)
        {
            if (contact.Email1Address.Contains("example.com"))
            {
                this.CreateEmailItem(subjectEmail, contact
                    .Email1Address, bodyEmail);
            }
        }
    }

    private void CreateEmailItem(string subjectEmail, string toEmail, string bodyEmail)
    {
        Outlook.Application Application = new Outlook.Application();
        Outlook.MailItem eMail = (Outlook.MailItem)
            this.Application.CreateItem(Outlook.OlItemType.olMailItem);
        eMail.Subject = subjectEmail;
        eMail.To = toEmail;
        eMail.Body = bodyEmail;
        eMail.Importance = Outlook.OlImportance.olImportanceLow;
        ((Outlook._MailItem)eMail).Send();
    }
    #endregion
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-01 18:07:28

这一行代码正在寻找一个名为Application的类级别字段,我认为它并不存在:

代码语言:javascript
运行
复制
Outlook.MAPIFolder sentContacts = (Outlook.MAPIFolder)
    this.Application.ActiveExplorer().Session.GetDefaultFolder
        (Outlook.OlDefaultFolders.olFolderContacts);

在方法中创建一个Application实例(就像您说的那样),然后从上面的代码中删除关键字this

代码语言:javascript
运行
复制
Outlook.Application Application = new Outlook.Application();

Outlook.MAPIFolder sentContacts = (Outlook.MAPIFolder)
    Application.ActiveExplorer().Session.GetDefaultFolder
        (Outlook.OlDefaultFolders.olFolderContacts);

如果您需要在该方法之外访问Application,那么在类级别(在任何方法之外)创建Application,并在构造函数中实例化它(如果适合您的情况)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26691309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档