需求:对重要的邮件进行本地备份,如何批量下载outlook邮件(要求以收件时间,发件人邮件地址、邮件主题命名文件名,特殊字符以下划线”_”替换,下载文件格式为.eml格式。)
解决方案:
Step1:
①定义保存文件路径
String Save_Msg_Path= "C:\Users\admin\Desktop\Study_Folder_ForUipath\Download_Outlook_Mails\"
②使用Get outlook mail message控件
作用:检索outlook邮件列表
属性说明:
Input:
Account:指定需要检索的邮件账户地址
MailFolder:指定获取检索信息的邮件文件夹,根据邮件中显示的文件夹名,例如中文界面:“收件箱”,英文界面:”Inbox”
Options:
Filter:可以根据关键字进行邮件信息过滤
MarkAsRead:是否将检索到的邮件标记为已读,默认不选
OnlyUnreadMessages:是否只检索未读邮件,默认勾选
Top:从邮件列表顶部开始检索的消息数,默认消息数为30,超过30封的建议使用.Net内置int32.maxValue函数
Output:
返回值:Mails_List 类型List<MailMessage>
Step2:
遍历MailMessage列表,输出保存.eml文件
说明:Msg为Mailmessage类型
定义邮件主题:String Mail_Subject=Msg.Subject.toString
定义正则表达式(单斜杠\需要转义):Regex Par=New Regex(“[:/\\*?<>|]”)
邮件主题格式化:String F_Mail_Subject=Par.Replace(Mail_Subject,”_”)
定义收件时间:String Mail_SendTime=Msg.Headers.Get(“DateRecieved”)
收件时间格式化:String F_Mail_SendTime=CDate(Mail_SendTime).toString(“yyyyMMdd_HHmmss”)
定义发件人邮件地址:String Mail_Sender=Msg.Sender.Address
使用Save Mail Message控件,保存.eml文件
程序验证:
收件箱\测试
保存内容: