为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Windows 窗体创建新的 Outlook 电子邮件

使用 Windows 窗体创建新的 Outlook 电子邮件

C#
狐的传说 2023-09-09 16:27:44
这可能是非常初学者的问题。我正在尝试创建我的第一个 Windows 窗体应用程序,并希望通过单击窗体上的按钮来创建 Outlook 电子邮件。问题是有13个错误,主要是:严重性代码 说明 项目文件行抑制状态错误 CS0246 找不到类型或命名空间名称“Outlook”(是否缺少 using 指令或程序集引用?) Offer machine v.0.0.1 C:\Users\PC\source \repos\Offer machine v.0.0.1\Offer machine v.0.0.1\Form1.cs 29 活动我已经添加了对我的项目的引用:这是代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace Offer_machine_v._0._0._1{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        private void Button1_Click(object sender, EventArgs e)        {            try            {                List<string> lstAllRecipients = new List<string>();                //Below is hardcoded - can be replaced with db data                lstAllRecipients.Add("sanjeev.kumar@testmail.com");                lstAllRecipients.Add("chandan.kumarpanda@testmail.com");                Outlook.Application outlookApp = new Outlook.Application();                Outlook._MailItem oMailItem = (Outlook._MailItem)outlookApp.CreateItem(Outlook.OlItemType.olMailItem);                Outlook.Inspector oInspector = oMailItem.GetInspector;                // Thread.Sleep(10000);                // Recipient                Outlook.Recipients oRecips = (Outlook.Recipients)oMailItem.Recipients;                foreach (String recipient in lstAllRecipients)                {                    Outlook.Recipient oRecip = (Outlook.Recipient)oRecips.Add(recipient);                    oRecip.Resolve();                }    }}
查看完整描述

2 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

您没有在代码中添加正确的使用。您需要添加:


using Microsoft.Office.Interop.Outlook;

如果没有这一行,您应该在互操作库中的每个对象之前键入完整的命名空间。使用到位后,您可以删除来Outlook.自互操作的所有对象。但是创建主 Application 对象需要完整的命名空间,以避免与 Winforms 中定义的 Application 类发生冲突。


Microsoft.Office.Interop.Outlook.Application outlookApp = 

                   new Microsoft.Office.Interop.Outlook.Application();

_MailItem oMailItem = (_MailItem)outlookApp.CreateItem(OlItemType.olMailItem);

Inspector oInspector = oMailItem.GetInspector;


..... and so on ....


查看完整回答
反对 回复 2023-09-09
?
桃花长相依

TA贡献1860条经验 获得超8个赞

您似乎已将 Outlook 互操作添加到项目引用中两次。

https://img4.sycdn.imooc.com/64fc2ccd0001260f03440749.jpg

至于错误信息,你只需要在 Outlook 命名空间中添加一个别名即可:


using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;


using Outlook = Microsoft.Office.Interop.Outlook;

using Office = Microsoft.Office.Core;

此外,您可能会发现C# 应用程序自动化 Outlook (CSAutomateOutlook)示例项目很有帮助。



查看完整回答
反对 回复 2023-09-09
  • 2 回答
  • 0 关注
  • 86 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信