Automator -> ส่งไฟล์ไปยังอีเมล (จากชื่อไฟล์)


3

ฉันกำลังพยายามสร้างแอคชันโฟลเดอร์ Automator ที่ส่งอีเมลพร้อมไฟล์แนบ

ในโฟลเดอร์ของฉันไฟล์จะถูกสร้างขึ้นด้วยอีเมลเป็นชื่อ: ตัวอย่าง: name@company.com.jpg, othername@othercompany.com.jpg เป็นต้น

สิ่งที่ฉันต้องการคือการกระทำที่คัดลอกชื่อไฟล์ลบส่วนขยาย (.jpg) สร้างอีเมลและใส่ชื่อไฟล์ / อีเมลลงใน "ถึง" แล้วส่งอีเมล

ฉันทุกคนพร้อมมีรุ่นใช้งานที่แนบไฟล์กับอีเมลและเนื้อหาของอีเมลถูกกรอก แต่ฉันไม่พบวิธีแก้ไขคัดลอกชื่อไฟล์และระบุไปยังที่อยู่ "ถึง"

หวังว่าใครบางคนที่นั่นสามารถช่วยฉันได้ :-)


คุณช่วยแบ่งปันการกระทำอัตโนมัติของคุณในปัจจุบันเพื่อที่เราจะได้พบทางออกที่เหมาะกับเวิร์กโฟลว์ของคุณ
Bibou

แน่นอน :-) นี่คือ: wikisend.com/download/103472/Image-to-email.zip
Stefan Johannsen

คำตอบ:


3

ฉันได้ลองใช้ Automator โดยไม่ประสบความสำเร็จในการวนลูปผ่านไฟล์ที่ถูกดร็อป

นี่คือสคริปต์การกระทำของโฟลเดอร์ที่ทำในสิ่งที่คุณต้องการและวิธีแนบไฟล์ไปยังโฟลเดอร์:

1. เปิด AppleScript Editor

2. วางสคริปต์ต่อไปนี้ลงในเอกสารใหม่

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 Action Scripts Folder

ไฟล์เมนู> บันทึก

ไปที่โฟลเดอร์ด้านขวา: กดcmd+ Gและวาง:
~ / Library / Scripts / Folder Action Scripts
แล้วคลิกGo

บันทึกเป็น: รูปภาพ - อีเมลโดยใช้ชื่อเป็น address.scpt (ตัวอย่าง)
รูปแบบ: สคริปต์

4. สร้างโฟลเดอร์ใหม่ที่จะคอยดูรายการที่เพิ่ม

5. เชื่อมโยงสคริปต์กับโฟลเดอร์

ใน Finder คลิกขวาที่โฟลเดอร์ของคุณจากนั้นเลือกบริการ > การตั้งค่าการดำเนินการกับโฟลเดอร์ เลือกรูปภาพที่สร้างขึ้นใหม่- อีเมลโดยใช้ชื่อเป็นสคริปต์address.scpt

เสร็จแล้วปล่อยไฟล์ที่มีชื่อที่อยู่อีเมลจะถูกส่ง


ว้าว! นี่คือสิ่งที่ฉันกำลังมองหา และดูคำอธิบายนั้น ... ยอดเยี่ยม! คุณจะเท่ห์ Bibou ;-)
Stefan Johannsen

เป็นไปได้ไหมที่จะใช้คำสั่ง "ส่งอีเมลที่ใช้งานอยู่" ไปยัง Outlook เพื่อให้อีเมลส่งไปในลักษณะเดียวกัน มิฉะนั้นฉันต้องกด "ส่ง" ด้วยตนเองในอีเมลทั้งหมด :-)
Stefan Johannsen

การแทนที่คำสั่ง "เปิด" โดย "ส่ง" ในส่วนบน processFile / บอกส่วนใหม่ของข้อความควรทำการหลอกลวง ฉันแก้ไขคำตอบของฉันแล้ว
Bibou

ขอบคุณมากสำหรับความช่วยเหลือของคุณ. เป็นที่นิยมจริง ๆ :-)
Stefan Johannsen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.