2012-05-15 64 views
1

我试图设置一个系统,人们可以通过电子邮件发送到某个地址,以便将其电话号码添加到数据库中。我希望能使用Automator来完成很多工作。到目前为止,这是我作为一个工作流程:在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 

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

回答

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 

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

对您的工作流程的几个注意事项

  • 不需要你“获得所选邮件消息”动作“查找邮件项目”行动后 - 已经返回邮件列表(你需要它会返回来自帐户或邮箱的所有邮件,但您已经过滤到邮件级别)。
  • 您可能希望筛选查找邮件的位置,因为“查找”操作在大型邮件数据库上需要很长时间。如果您首先查找邮件帐户,或者更好,邮箱(例如“收件箱”),则可以插入“筛选邮件项目”操作以仅返回符合您搜索条件的邮件(您可以将其扩展为如果您只想查看几个邮件帐户之一的收件箱中的级联:查找帐户,在收件箱上过滤,然后过滤邮件标准)。
相关问题