komut dosyası kopya gönderen (ler) e-posta adresi yalnızca panoya


1

Ben mac bir kör sesli kullanıcıyım.

Yeni Mail.app gönderenin e-postasını kopyalamayı zorlaştırır. Bir veya daha fazla seçilen iletinin yalnızca gönderen e-postasını kopyalayan bir komut dosyası olmasını istiyorum.

Mümkün mü ?

Yanıtlar:


2

Evet, AppleScript kolayca mümkün kılar!

İşte bunu yapabilen bir AppleScript:

tell application "Mail"
    set theSenderList to {}
    set theMessages to the selected messages of message viewer 0
    repeat with aMessage in theMessages
        set end of theSenderList to sender of aMessage
    end repeat
    set the clipboard to (theSenderList as rich text)
    beep
end tell

Posta gönderenleri panoya aşağıdaki gibi kopyalar: John Doe <John.Doe@gmail.com>


İsimler olmadan aynı script:

tell application "Mail"
    set theSenderList to {}
    set theMessages to the selected messages of message viewer 0
    repeat with aMessage in theMessages
        set end of theSenderList to (extract address from sender of aMessage)
    end repeat
    set AppleScript's text item delimiters to " "
    set the clipboard to (theSenderList as string)
    set AppleScript's text item delimiters to ""
    beep
end tell

Yalnızca adresleri bir space sınırlayıcı: john.doe@gmail.com jane.doe@gmail.com


Bip sesi için, sadece ekleyin beep önce end tell (yukarıda yaptığım gibi).


0

Matthieu tarafından çok kullanışlı kodda iki olası değişiklik:
1. Kullanarak her adresi (eğer faydalıysa) kullanarak konuşmasını sağlayabilirsiniz. say Komut.
2. Bazıları, neyin korunmasının iyi olduğunu düşünür AppleScript's text item delimiters değiştirmeden önce, ardından boş bir karakter olduğunu varsaymak yerine, orijinal ayarlarına geri yükleyin "" ), özellikle eğer başka bir komut dosyası çalışırken bu genel bir özellik olduğundan çalıştırılabilir.

tell application "Mail"
    set theSenderList to {}
    set theMessages to the selected messages of message viewer 0
    repeat with aMessage in theMessages
        set oneAddress to extract address from sender of aMessage
        set end of theSenderList to oneAddress
        say "found: " & oneAddress
    end repeat
    set {prevDelims, AppleScript's text item delimiters} to {AppleScript's text item delimiters, " "}
    set the clipboard to (theSenderList as string)
    set AppleScript's text item delimiters to prevDelims
end tell

0

İçin bir güncelleme Matthieu'nin cevabı , kopyaları kaldırmak ve her adres arasına yeni bir satır eklemek için:

tell application "Mail"
    set theSenderList to {}
    set theMessages to the selected messages of message viewer 0
    repeat with aMessage in theMessages
        set theSender to sender of aMessage
        if theSender is not in theSenderList then
            set end of theSenderList to theSender
            set end of theSenderList to "
"
        end if
    end repeat

    set the clipboard to (theSenderList as rich text)
    beep
end tell
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.