使用C#更改outlook中的发件人

时间:2011-12-27 09:54:27

标签: c# email outlook

我有一个将安装在服务器上的应用程序,它已连接到互联网。还将安装Microsoft Outlook。系统将处理来自5个不同部门的请求,每个部门都有自己的电子邮件地址。

我看过这段代码,Microsoft Outlook Send and Email Automation C#所以我知道如何使用Outlook发送电子邮件,但我面临的问题是更改电子邮件的发件人。如何为需要从C#发送的每个部门设置Outlook配置?有没有办法更改登录的用户或其他什么?

4 个答案:

答案 0 :(得分:2)

如果您使用Outlook连接到Exchange服务器,则可以使用Exchange Web Services Managed API(尤其是EmailMessage类)直接连接到Exchange服务器,而无需担心配置服务器上的Outlook客户端。

答案 1 :(得分:0)

为什么不能使用System.Net.Mail namespace中的类来使用SMTP发送电子邮件。 这样,您可以根据代表您发送电子邮件的部门更改发件人地址

答案 2 :(得分:0)

如果您想代表第三方从Outlook发送邮件,我认为您必须在Outlook中配置这些帐户。

MailItem对象具有可用于设置发件人的Sender属性。该属性实际上是一个AddressEntry对象,您需要从Outlook中进行检索。

MSDN Documentation for AddressEntry object中,您可以在其他资源部分找到有关如何执行此操作的示例。

答案 3 :(得分:0)

Outlook有一个属性,您可以在其中获取映射到它的帐户列表。根据您的配置,您可以选择电子邮件发件人并发送电子邮件。

 Microsoft.Office.Interop.Outlook.Accounts accounts = oMsg.Session.Accounts;                
 for (int i = 1; i <= accounts.Count; i++)
            {
                string accountfound = accounts[i].DisplayName.ToLower();
                if (accountname.ToLower() == accountfound)
                {

                    found = true;
                    oMsg.SendUsingAccount = accounts[i]; 
                    Microsoft.Office.Interop.Outlook.Recipient recipient = oMsg.Session.CreateRecipient(accountfound);
                }
            }