Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从C应用程序发送Outlook邮件项目_C#_Vba - Fatal编程技术网

C# 从C应用程序发送Outlook邮件项目

C# 从C应用程序发送Outlook邮件项目,c#,vba,C#,Vba,在VBA中,我当前使用类似于以下的代码创建和发送Outlook邮件: Function example() Dim OutAppl As Outlook.Application Dim my_email As Outlook.MailItem Set OutAppl = New Outlook.Application Set my_email = OutAppl.CreateItem(olMailItem) With my_email .Importance = 2

在VBA中,我当前使用类似于以下的代码创建和发送Outlook邮件:

Function example()

Dim OutAppl As Outlook.Application
Dim my_email As Outlook.MailItem

Set OutAppl = New Outlook.Application
Set my_email = OutAppl.CreateItem(olMailItem)

    With my_email

       .Importance = 2
       .To = "me@foo.com; "
       .Subject = "not so easy in C#"
       .BodyFormat = 2   'olFormatHTML
       .HTMLBody = "<P>" & _
                  "<BR>" & _
                  "<FONT face=""Lucida Sans Unicode"" size=2.5>" & _
                         "Hello SO" & _
                         "<BR>" & _
                         "</FONT>" & _
                         "</P>" & _
                   "</BODY></HTML>"           
       .Save
       .send
     End With

Set OutAppl = Nothing
Set my_email = Nothing

End Function
我从哪里开始使用C创建类似上面的东西?
是否有类似于使用excel的outlook Interop组件可供我参考?

要直接回答您的问题,outlook Interop库仅比Visual Studio的“添加参考”对话框中的excel略低一些:

是的,它的工作方式与Excels相同,您可以实例化Outlook应用程序对象,然后或多或少地通过Outlook中的VBA执行任何操作,您可以通过调用.Net中的应用程序实例等效方法来执行


如果您想让我添加一些示例代码,请发表评论,我会的,但正如jrummell所说,为什么不使用System.Net.Mail?

您必须使用Outlook吗?这可能更容易使用。只要把你的问题标题放在谷歌上,就会得到大量相关的结果……你的确切要求是什么?有一些你可以使用,但正如jrummell所说:你真的需要使用吗?@whytheq你不应该先问你可能遇到的每一个问题,因为有很多专家。人们期望你自己做研究,尝试解决你的问题,并在发布问题之前寻找现成的解决方案。一旦你完成了所有这些事情,仍然无法解决你的问题,那么问就成为一个可以考虑的选项。很明显,在提出问题之前,你根本没有试图去解决这个问题。仅仅使用谷歌,你会节省更多的时间。你不仅浪费了很多其他人的时间,也浪费了你自己的时间。感谢你的这篇文章,我同意在用System.Net.Mail发布这个问题之前,我应该做一点研究。SMTP是所有Exchange服务器上都存在的东西吗?我不是Exchange服务器方面的专家,但我认为是这样的,您应该能够从IT部门获取这些,然后将其作为System.Net.Mail.SmtpClient对象的属性提供,就像您设置Outlook或Thunderbird这样的标准邮件客户端一样。@whytheq 7年后,这里有大量的示例@我知道!只是想表现得好一点,找人回答我的一个问题,然后把我推过那条20k线!