Outlook是一款常用的电子邮件客户端,它提供了多种方式来保存电子邮件,包括以编程方式保存为EML / MIME格式。下面是一种以编程方式强制Outlook将电子邮件保存为EML / MIME的方法:
Sub SaveSelectedEmailAsEML()
Dim objItem As Object
Dim objMail As Outlook.MailItem
Dim objFileSystem As Object
Dim strFolderPath As String
Dim strFileName As String
' 获取选定的电子邮件
Set objItem = Application.ActiveExplorer.Selection.Item(1)
' 确保选定的是邮件项
If objItem.Class = olMail Then
Set objMail = objItem
' 设置保存路径和文件名
strFolderPath = "C:\Path\To\Save\Folder"
strFileName = objMail.Subject & ".eml"
' 创建文件系统对象
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
' 保存为EML文件
objMail.SaveAs objFileSystem.BuildPath(strFolderPath, strFileName), olMSG
' 释放对象
Set objFileSystem = Nothing
Set objMail = Nothing
End If
End Sub
将上述代码复制到Outlook的VBA编辑器中(按Alt + F11打开),然后保存并关闭编辑器。在Outlook中,您可以通过按Alt + F8打开宏对话框,并运行"SaveSelectedEmailAsEML"宏来保存选定的电子邮件为EML文件。
using System;
using Outlook = Microsoft.Office.Interop.Outlook;
namespace SaveEmailAsEML
{
class Program
{
static void Main(string[] args)
{
// 创建Outlook应用程序对象
Outlook.Application outlookApp = new Outlook.Application();
// 获取选定的电子邮件
Outlook.Explorer explorer = outlookApp.ActiveExplorer();
Outlook.Selection selection = explorer.Selection;
Outlook.MailItem mailItem = selection[1] as Outlook.MailItem;
// 确保选定的是邮件项
if (mailItem != null)
{
// 设置保存路径和文件名
string folderPath = @"C:\Path\To\Save\Folder";
string fileName = mailItem.Subject + ".eml";
// 保存为EML文件
mailItem.SaveAs(folderPath + "\\" + fileName, Outlook.OlSaveAsType.olMSG);
// 释放对象
System.Runtime.InteropServices.Marshal.ReleaseComObject(mailItem);
}
// 退出Outlook应用程序
outlookApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(outlookApp);
}
}
}
将上述代码保存为一个C#项目,并添加对"Microsoft.Office.Interop.Outlook"的引用。运行该项目,选定一个电子邮件后,它将被保存为EML文件。
以上是两种以编程方式强制Outlook将电子邮件保存为EML / MIME的方法。这些方法可以帮助您在Windows文件系统中保存选定的电子邮件。
领取专属 10元无门槛券
手把手带您无忧上云