5

Outlook 経由で電子メールを送信するために Interop を使用していますが、From 電子メール アドレスを指定できません。

同じ差出人(from)から複数のユーザーにメールを送信したい。差出人の電子メールアドレスについて言及する必要があります。ただし、Intellisense を使用して指定できるプロパティが見つかりません。

助けてください。

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();
4

2 に答える 2

14

Outlookを使用してメールを送信しています。メールのアドレスを使用するようにOutlookを構成する必要があるため、アドレスを直接指定するfromことはできません。fromただし、Outlookで使用可能なアカウントを選択できます。例えば ​​:

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;
    }
}
于 2012-06-27T10:52:45.673 に答える
7

Sendメソッドは、既定のアカウントを使用してメールを送信します。別のアカウントを指定してメールを送信するには、Send メソッドを呼び出す前に、 SendUsingAccountプロパティを目的のアカウントに設定します。

var application = new Application();
var mail = (_MailItem) application.CreateItem(OlItemType.olMailItem);
mail.To = "anonymous@somedomain.com";
....
Outlook.Account account = Application.Session.Accounts["MyOtherAccount"];
mailItem.SendUsingAccount = account;
mail.Send();

詳細については、次を参照してください。

http://msdn.microsoft.com/en-us/library/ff184652.aspx

于 2012-06-27T10:45:26.817 に答える