如何使用特定的电子邮件地址发送outlook mailitem?

时间:2016-04-06 13:50:13

标签: c# outlook

您是否有人知道如何使用特定的电子邮件地址发送或回复outlook mailitem?

例如:

我的展望电邮地址是:

string email = "myOutlookEmailAddress@company.com";

现在取代我的Outlook电子邮件地址,我想使用(我的Outlook上特定邮箱的电子邮件地址):

string email = "otherEmailAddress@company.com";

我已经尝试过使用它了:

Outlook.Accounts accounts = application.Session.Accounts; 
foreach (Outlook.Account account in accounts) 
{ 
    // When the e-mail address matches, return the account. 
    if (account.SmtpAddress == smtpAddress) 
    { 
        return account; 
    } 
} 

但它只查找我的Outlook应用程序中的帐户。

1 个答案:

答案 0 :(得分:1)

1)如果您代表另一个邮箱通过Exchange发送,请设置MailItem.SentOnBehalfOfName属性(假设您有足够的权限)

2)如果您要通过特定的SMTP帐户发送邮件,请设置MailItem.SendUsingAccount属性。

3)如果您需要以任意SMTP用户身份发送,请参阅this example - 您实际上需要在PS_INTERNET_HEADERS命名空间中设置名为MAPI的“From”属性。请注意,并非所有SMTP服务器都允许您这样做 - Exchange for one不会让您欺骗发件人。

4)如果要作为属于特定Exchange邮箱的别名(代理)SMTP地址之一发送,则需要通过SMTP发送 - 通过OOM或MAPI发送将始终使用默认的SMTP地址发送邮箱。对于最终用户,您可以配置虚拟POP3 / SMTP帐户或使用Proxy Manager之类的产品。有关详细信息,请参阅MSOutlook.info