AppleScript: как переместить почтовый ящик в другой почтовый ящик в Apple Mail

#applescript

#applescript

Вопрос:

Наивно думал, что этого будет достаточно:

 tell application "Mail"
    move mailbox "complaints" of account "ACME LLC" to mailbox "customers" of account "ACME LLC"
end tell
  

Каков правильный синтаксис?

Последующий вопрос: как удалить почтовый ящик?

 tell application "Mail"
    delete mailbox "complaints" of account "ACME LLC"
end tell
  

выдает ошибку «Сбой обработчика AppleEvent». число -10000″

Ответ №1:

В идеале вы хотите изменить папку, в которой находится ваш почтовый ящик. Почтовый ящик, в котором у вас есть почтовый ящик, является свойством «контейнер». Например, контейнер ‘Sub’ предоставляет вам почтовый ящик, в котором находится почтовый ящик «Sub».

К сожалению, это свойство доступно только для чтения в Applescript. Таким образом, вы не можете его изменить! Обходной путь заключается в создании нового почтового ящика внутри существующего почтового ящика, а затем перемещении сообщений между почтовыми ящиками.

Ваш исходный почтовый ящик называется «Source», и вы хотите переместить его в существующий почтовый ящик с именем «Dest» :

1) создайте дополнительный почтовый ящик с именем «Source» в почтовый ящик «Dest».

 tell application "Mail" to set NewBox to make new mailbox with properties {name:"Dest/Source", class:container, unread count:0}
  

Как вы можете видеть, обработка событий почты здесь немного странная, потому что путь должен быть в имени ! к вашему сведению, мне никогда не удается создать boxe внутри boxe внутри boxe. (3 уровня)!

Затем используйте приведенный ниже сценарий для перехода от источника к новому «источнику»

 set BoxeSource to "Source"
set BoxeDest to "Dest/Source"
tell application "Mail" to set mailbox of every message of mailbox BoxeSource to mailbox BoxeDest
  

Комментарии:

1. Я хотел переместить сам почтовый ящик в другой почтовый ящик и сделать его вспомогательным почтовым ящиком. Ваше решение оставляет исходный почтовый ящик пустым, поэтому мне нужно будет удалить его, что, как я написал в своем исходном сообщении, я не могу сделать.

2. спасибо, но это все равно оставляет меня с исходным почтовым ящиком пустым, и я все еще не могу выполнить delete SourceMailbox of account "ACME LLC" . Я получаю сообщение «Ошибка обработчика AppleEvent 10000». Что я делаю не так?

3. скажите приложению «Mail» удалить почтовый ящик «xxxx», где «xxxx» — это имя почтового ящика, чтобы удалить avec, сделав его пустым. У меня это работает (El Capitain, Mail v3.9

4. Это работает на моем El Capitain. Я еще не устанавливал Sierra, поэтому, боюсь, больше ничем не смогу вам помочь. … к вашему сведению, я никогда не устанавливаю новые системы Apple до нескольких выпусков updates…to избегайте слишком большого количества ошибок 😉

5. это не проблема с разрешением файлов, поскольку я могу переименовывать почтовые ящики с помощью set name of mailbox "complaints" of account "ACME LLC" to "grievances"