Làm cách nào để tôi sao chép một liên kết vào thư Mail.app mà không cần sử dụng kéo và thả?


8

Tôi giữ một nhật ký hàng ngày và tôi muốn có các liên kết đến email, ứng dụng thư của tôi là Mail.app trên OSX. Tôi có thể kéo và thả các liên kết đến chương trình tạp chí của mình (VoodooPad), nhưng tôi thực sự muốn sao chép và dán chúng, vì vậy tôi có một liên kết trông giống như tin nhắn: //%3C30533360.1931252053580.bla.bla.bla.

Có cách nào dễ dàng để có được một liên kết ở định dạng này từ Mail.app không?

Câu trả lời:


9

Dựa trên phản hồi của splattne và mục nhập macosxhint này , tôi đã tìm ra cách để làm điều đó. Bây giờ, vấn đề chỉ là sử dụng một cái gì đó như Quicksilver của FastScripts để liên kết nó với một phím tắt.

tell application "Mail"
  set selectedMessages to selection
  set theMessage to item 1 of selectedMessages  
  set messageid to message id of theMessage
    -- Make URL (must use URL-encoded values for "<" and ">")
  set urlText to "message://" & "%3c" & messageid & "%3e"  
  set the clipboard to (urlText)     
end tell

1
Điều này cũng hoạt động trong OS X Mavericks trong đó chức năng kéo và thả dường như bị nhấn & bỏ lỡ.
Rafael Bugajewski

1

Nếu tôi giải thích chính xác câu hỏi của bạn, bạn có thể sử dụng một biến thể của AppleScript trong các bài đăng trên blog này:


Điều đó giúp tôi có được hầu hết các cách đó. Tuy nhiên, tôi không chắc chắn làm thế nào để chỉ định "thông điệp thư hiện được chọn" trong Applescript.
Lorin Hochstein

0

Không phải là một câu trả lời cho câu hỏi mà bạn đã tự trả lời, nhưng chỉ dành cho tài liệu lưu trữ:

Sau khi một người đã lưu tệp từ một trang web hoặc thông báo email, người ta có thể sử dụng Nhận thông tin trong Trình tìm kiếm để tìm nơi gửi tệp . Đối với tệp đính kèm email, phần này hiển thị thông báo Người gửi, Chủ đề và URL đề cập đến thông báo đó.

Thay vì Nhận thông tin, người ta cũng có thể sử dụng dòng lệnh để lấy thông tin:

mdls -name kMDItemWhereFroms <tên tệp>

Sử dụng openlệnh như vậy URL sẽ làm cho OS X kích hoạt ứng dụng mặc định, giống như nó sẽ kích hoạt TextEdit cho một tệp văn bản. Đối với message:URL, Mail.app sẽ được khởi chạy để hiển thị thông báo (nếu nó vẫn tồn tại).

Kết hợp với một số AppleScript từ các bình luận tại liên kết trên:

on open these_items 
   set first_item to item 1 of these_items 
   set full_path to quoted form of POSIX path of first_item 

   set cmd to ¬ 
      "/usr/bin/mdls -name kMDItemWhereFroms " & ¬ 
      full_path & " | grep 'http:\\|https:\\|message:' | xargs open" 
   do shell script cmd 
end open

Dán AppleScript ở trên vào Script Editor và lưu dưới dạng Ứng dụng, với tùy chọn Chỉ chạy . Bây giờ, khi kéo bất kỳ tệp nào vào ứng dụng đó, nguồn sẽ được mở, nếu có. Tôi chắc chắn không phải là chuyên gia về AppleScript và ở trên không thực hiện bất kỳ xử lý lỗi nào, nó chỉ đơn giản lấy tệp đầu tiên khi nhiều tệp được thả vào ứng dụng và nó không hỗ trợ các thư mục. Nhưng một người có ý tưởng, tôi đoán.

(Dấu gạch chéo ngược ở http:\\trên là có chủ ý, và không nên đọc //Các tìm kiếm kịch bản cho. http:, https:Hay message:nói cách khác:. Họ không có ý định trở thành một phần của http://, nhưng cùng nhau tạo thành một dấu chéo ngược trốn thoát, để thoát khỏi ống-nhân vật trong greplệnh .)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.