微软Outlook发送和电子邮件自动化c#

本文关键字:电子邮件 自动化 Outlook 微软 | 更新日期: 2023-09-27 18:08:13

如何发送带有主题、附件、正文等内容的电子邮件?我在网站上看了看,他们给的都是Visual Basic代码。我已经添加了参考:

 using Microsoft.Office.Interop.Outlook;

微软Outlook发送和电子邮件自动化c#

你应该提高你的谷歌搜索技能;-)

using System;
using Outlook = Microsoft.Office.Interop.Outlook;
namespace Outlook_SendMailItem
{
    public class Class1
    {
        public static int Main(string[]args)
        {
            try
            {
                // Create the Outlook application by using inline initialization.
                Outlook.Application oApp = new Outlook.Application();
                //Create the new message by using the simplest approach.
                Outlook.MailItem oMsg = (Outlook.MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem);
                //Add a recipient.
                // TODO: Change the following recipient where appropriate.
                Outlook.Recipient oRecip = (Outlook.Recipient)oMsg.Recipients.Add("e-mail address");
                oRecip.Resolve();
                //Set the basic properties.
                oMsg.Subject = "This is the subject of the test message";
                oMsg.Body = "This is the text in the message.";
                //Add an attachment.
                // TODO: change file path where appropriate
                String sSource = "C:''setupxlg.txt";
                String sDisplayName = "MyFirstAttachment";
                int iPosition = (int)oMsg.Body.Length + 1;
                int iAttachType = (int)Outlook.OlAttachmentType.olByValue;  
                Outlook.Attachment oAttach = oMsg.Attachments.Add(sSource,iAttachType,iPosition,sDisplayName);
                // If you want to, display the message.
                // oMsg.Display(true);  //modal
                //Send the message.
                oMsg.Save();
                oMsg.Send();
                //Explicitly release objects.
                oRecip = null;
                oAttach = null;
                oMsg = null;
                oApp = null;
            }
                // Simple error handler.
            catch (Exception e)
            {
                Console.WriteLine("{0} Exception caught: ", e);
            }
            //Default return value.
            return 0;
        }
    }
}