【发布时间】:2021-10-02 18:03:24
【问题描述】:
我编写了一个 AppleScript,每当收到包含“+”的电子邮件时,它就会被邮件规则激活。
为什么?我托管自己的邮件服务器,允许地址标记。这意味着,例如,当我在商店并且他们询问我的电子邮件地址时,他们可以通过电子邮件发送收据,我可以给他们我的电子邮件地址,如下所示:whatmyemailnormallyis+nameofstore@domain.com。然后,applescript 应该获取“+”和“@”字符之间的字符串,创建一个名为“nameofstore”的邮箱并将消息移动到它。一切正常,除了我收到以下错误:
“邮件出错:无法将文本项分隔符设置为 {"+", "@"}。"
这是我的脚本:
tell application "Mail"
set unreadmessages to the first message of mailbox "INBOX" of account "Account"
set theEmail to extract address from sender of item 1 of unreadmessages
set mystring to theEmail
set text item delimiters to {"+", "@"}
set textlist to text items of mystring
set mylist to {}
repeat with i from 2 to count of textlist by 2
set end of mylist to item i of textlist
end repeat
get mylist
set mailboxName to mylist
set messageAccount to account of (mailbox of item 1 of unreadmessages)
set newMailbox to make new mailbox at (end of mailboxes of messageAccount) with properties {name:mailboxName}
repeat with eachMessage in unreadmessages
set mailbox of eachMessage to newMailbox
end repeat
end tell
当我只运行脚本的文本提取部分时,它可以正常工作:
set mystring to "whatmyemailnormallyis+nameofstore@domain.com"
set text item delimiters to {"+", "@"}
set textlist to text items of mystring
set mylist to {}
repeat with i from 2 to count of textlist by 2
set end of mylist to item i of textlist
end repeat
get mylist
结果:
{"nameofstore"}
任何帮助将不胜感激。如果有比我更好的 AppleScript 技能的人可以改进其他领域的脚本,也将不胜感激。
【问题讨论】:
-
尝试使用
set AppleScript's text item delimiters to ...而不是set text item delimiters to ... -
谢谢这是问题所在。但现在我有一个不同的问题,我已经更新了我原来的问题。再次感谢!
-
RE:“但现在我有一个不同的问题,我已经更新了我原来的问题。”——这不是这里的工作方式!您需要提出一个新问题。
-
谢谢!我在这里开了一个新问题:stackoverflow.com/questions/68540285/…
标签: macos email applescript