How to send a mail using Microsoft.Office.Interop.Outlook.MailItem by specifying the From Address
c#, email, outlook, vsto
Solution
You are using outlook to send the mail. Since outlook must be configured to use the `from` address of your mail, you cannot provide the `from` address directly. However, you can select an account available on outlook. For example :
using Outlook = Microsoft.Office.Interop.Outlook;
Outlook.Accounts accounts = olkApp1.Session.Accounts;
foreach (Outlook.Account account in accounts)
{
// When the e-mail address matches, send the mail.
if (account.SmtpAddress == "from@mail.com")
{
olkMail1.SendUsingAccount = account;
((Outlook._MailItem)olkMail1).Send();
break;
}
}
Problem
I'm using Interop for sending e-mails via Outlook, but I am not able to specify the From e-mail address. I want to send mails to multiple users originating from the same sender (from). I need to mention the from e-mail address. However I cannot find a property using Intellisense that allows me to specify it. Please help. ``` Microsoft.Office.Interop.Outlook.Application olkApp1 = new Microsoft.Office.Interop.Outlook.Application(); Microsoft.Office.Interop.Outlook.MailItem olkMail1 = (MailItem)olkApp1.CreateItem(OlItemType.olMailItem); olkMail1.To = txtpsnum.Text; olkMail1.CC = ""; olkMail1.Subject = "Assignment note"; olkMail1.Body = "Assignment note"; olkMail1.Attachments.Add(AssignNoteFilePath, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, 1, "Assignment_note"); olkMail1.Save(); //olkMail.Send(); ```