1

我正在尝试建立一个系统,人们可以在其中向某个地址发送电子邮件,以将他们的电话号码添加到数据库中。我希望使用 Automator 来完成很多这样的工作。到目前为止,这就是我的工作流程:

1. Get New Mail For: DEMO
2. Find Mail Messages where All of the following are true: Entire Message contains BEACH
3. Get Selected Mail Messages
4. Extract Phone Numbers From Text
5. New Text Edit Document

这可行,但从文本中提取电话号码“没有提供所需的数据”。还不要介意数据库的东西——这是另一个问题——我如何在 Automator 中从电子邮件的主题和发件人中提取电话号码?我显然在某处做错了什么。

4

1 回答 1

3

您无法从邮件消息的文本中提取数据,因为您实际上并没有将文本传递给提取操作 - 您正在传递邮件消息对象。如果要处理消息的发件人和主题,则必须在“从文本中提取数据”操作之前插入具有以下内容的“运行 AppleScript”操作:

using terms from application "Mail"
    on run {input, parameters}
        set mailContents to {}
        repeat with aMessage in input
            set end of mailContents to subject of aMessage
            set end of mailContents to sender of aMessage
        end repeat
        return mailContents
    end run
end using terms from

– 这将遍历所有邮件消息对象,并将它们的发件人主题属性附加到传递给“提取”操作的列表中。

关于您的工作流程的一些注意事项

  • 在“查找邮件项目”操作之后不需要您的“获取选定的邮件消息”操作 - 它已经返回了一个邮件列表(您需要它来返回来自帐户或邮箱的所有邮件,但您正在过滤到邮件已经水平)。
  • 您可能希望过滤查找邮件的位置,因为“查找”操作在大型邮件数据库上需要很长时间。如果您首先找到一个邮件帐户,或者更好的是,邮箱(例如“收件箱”),然后您可以插入一个“过滤邮件项目”操作以仅返回符合您的搜索条件的邮件(您可以将其扩展到如果您只想查看多个邮件帐户之一的收件箱,请使用级联:找到该帐户,在收件箱中过滤,然后根据邮件条件进行过滤)。
于 2012-05-19T11:23:14.700 回答