我有一个将安装在服务器上的应用程序,它已连接到互联网。还将安装Microsoft Outlook。系统将处理来自5个不同部门的请求,每个部门都有自己的电子邮件地址。
我看过这段代码,Microsoft Outlook Send and Email Automation C#所以我知道如何使用Outlook发送电子邮件,但我面临的问题是更改电子邮件的发件人。如何为需要从C#发送的每个部门设置Outlook配置?有没有办法更改登录的用户或其他什么?
答案 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);
}
}