如何使用与登录用户不同的电子邮件帐户在C#中发送电子邮件
本文关键字:电子邮件 何使用 登录 用户 | 更新日期: 2023-09-27 18:24:39
我有一个工作表单,它从默认登录帐户发送电子邮件。我正在尝试添加一个功能,用户可以从下拉列表中选择一个电子邮件帐户,并通过alt地址发送电子邮件,比如info@companyname.com或support@companyname.com.我正在尝试使用"SendUsingAccount"选项,但没有成功。我在网上看过,但大部分都是用VB的例子,我不熟悉。我的代码如下:
Microsoft.Office.Interop.Outlook.Application objOutlook = new Microsoft.Office.Interop.Outlook.Application();
var mic = (MailItem)(objOutlook.CreateItem(OlItemType.olMailItem));
Inspector oAddSig = null;
mic.sendusingaccount = ?????????????? //here is where i need the help
mic.Subject = "Announcing Participant Website Enhancements!";
mic.Importance = OlImportance.olImportanceHigh;
mic.BodyFormat = OlBodyFormat.olFormatHTML;
//mic.Attachments.Add(PDFAttachment + yearending.Text + ".pdf");
object emailBody = ToolBox.GetStringFromTextFile((string)EmailBody);
oAddSig = mic.GetInspector;
mic.HTMLBody = emailBody + mic.HTMLBody;
//mic.Display(true);
mic.Send();
我总是使用System.Net.Mail命名空间中的SMTP客户端。它有一个名为"发送"的方法,允许您提供消息"来自"的地址
看看:http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.aspx
只要您知道exchange服务器的地址(由于您在示例中尝试使用outlook,该地址应该是可以的),一切都应该是A-OK。可能也比上面的方法简单一点。
如果你有一个下拉列表,你可以创建一个值为dd的字符串,asign sendusingaccount=你的字符串
Microsoft.Office.Interop.Outlook.Application objOutlook = new Microsoft.Office.Interop.Outlook.Application();
string email = yourdropdown.selectedvalue;
var mic = (MailItem)(objOutlook.CreateItem(OlItemType.olMailItem));
Inspector oAddSig = null;
mic.sendusingaccount = email
我希望这能帮助你
Outlook.Account account =
Application.Session.Accounts["Hotmail"];
mic.SendUsingAccount = account;
可能你可以在会话中查看不同的帐户。。。
您可以检查:MSDN