Automator -> e-postaya dosya gönder (dosya adından)


3

Ekli bir dosyayı içeren bir e-posta gönderen bir Automator klasörü işlemi oluşturmaya çalışıyorum.

Klasörümde dosyalar ad olarak e-posta ile oluşturulacak: Örnek: name@company.com.jpg, othername@othercompany.com.jpg vb.

İhtiyacım olan, dosya adını kopyalayan, uzantıyı (.jpg) kaldıran, bir e-posta oluşturan ve dosya adını / e-postayı "Kime" ye yerleştirip e-postayı gönderen bir eylem.

Hazır e-postaya dosyanın eklendiği ve e-postanın içeriğinin doldurulduğu çalışan bir sürümüm var. Ancak dosya adını kopyalayıp "Kime" adresine belirtecek bir çözüm bulamıyorum.

Umarım dışarıdaki biri bana yardım edebilir.


Mevcut Automator işleminizi lütfen iş akışınıza uygun bir çözüm bulabilmemiz için paylaşabilir misiniz?
Bibou

Yanıtlar:


3

Bırakılan dosyalar arasında dolaşmayı başaramadan Automator ile denedim.

İstediğinizi yapan ve onu bir klasöre nasıl ekleyeceğinizi gösteren bir klasör eylem komut dosyası:

1. AppleScript Editor'ı açın

2. Aşağıdaki betiği yeni bir belgeye yapıştırın

property mail_subject : "An image for you"
property mail_plain_content : "Attached you will the image you required." & return & return & "Best Regards" & return & "Automator"
property mail_html_content : "Attached you will the image you required.<br><br>Best Regards<br>Automator"

on adding folder items to this_folder after receiving these_items
    processItems(these_items)
end adding folder items to

on processItems(these_items)
    repeat with i from 1 to (count of these_items)
        set this_item to item i of these_items
        if isFolder(this_item) then
            processItems(getFolderItems(this_item))
        else
            processFile(this_item)
        end if
    end repeat
end processItems

on processFile(this_file)
    set mail_address to RemoveExtension(getFileName(this_file))
    tell application "Microsoft Outlook"
        set newMessage to make new outgoing message with properties {subject:mail_subject, plain text content:mail_plain_content, content:mail_html_content}
        tell newMessage
            make new recipient with properties {email address:{address:mail_address}}
            make new attachment with properties {file:this_file as alias}
            send
        end tell
        activate
    end tell
end processFile

on isFolder(this_item)
    tell application "System Events" to return (exists folder (this_item as string))
end isFolder

on RemoveExtension(this_name)
    -- This function comes from :
    -- http://www.macosxautomation.com/applescript/sbrt/index.html
    if this_name contains "." then
        set this_name to (the reverse of every character of this_name) as string
        set dot_offset to the offset of "." in this_name
        set this_name to (text (dot_offset + 1) thru -1 of this_name)
        set this_name to (the reverse of every character of this_name) as string
    end if
    return this_name
end RemoveExtension

on getExtension(this_name)
    if this_name contains "." then
        set this_name to (the reverse of every character of this_name) as string
        set dot_offset to the offset of "." in this_name
        set this_name to (text 1 thru (dot_offset - 1) of this_name)
        set this_name to (the reverse of every character of this_name) as string
        return this_name
    else
        return ""
    end if
end getExtension

on getFileName(this_file)
    tell application "Finder" to return name of this_file
end getFileName

on getFolderItems(this_folder)
    tell application "Finder" to return items of this_folder
end getFolderItems

3. ~ / Library / Scripts / Folder dizinine kaydedin Action Script Klasörüne

Menü Dosyası > Kaydet

Basma: Sağ klasöre gidin cmd+ Gve yapıştırma:
~ / Library / Scripts / Klasör Eylem Komut
ve tıklayın Git

Farklı kaydet: Görüntü - address.scpt olarak adını kullanarak e-posta (örneğin)
Formatı: Senaryo

4. Eklenen öğeler için izlenecek yeni bir klasör oluşturun

5. Komut dosyasını klasörle ilişkilendirin

Finder, hemen sonra da klasöre tıklayıp seçin Hizmetler > Klasör İşlemleri Kur yeni oluşturulan seçin address.scpt olarak adını kullanarak e-posta - Image komut

İşin bitti, adı bir adres olan bir dosyayı bırak, posta gönderilecek.


VAOV! Bu tam olarak aradığım şey. Ve şu açıklamaya bakın ... Mükemmel! Serinlemek için Bibou ;-)
Stefan Johannsen

E-postaların aynı eylemde gönderilebilmesi için Outlook'a "Etkin e-posta gönder" komutu vermek mümkün olur mu? Aksi takdirde, tüm e-postalarda manuel olarak "gönder" e
basmam gerekiyor

"Open" komutunun yerine on processFile / tell new mesajındaki "send" komutunun kullanılması hile yapmalıdır. Cevabımı buna göre düzenledim.
Bibou

Yardımın için çok teşekkür ederim. Gerçekten çok takdir ediyorum :-)
Stefan Johannsen
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.