Mail.app 的 applescript 可以复制外发邮件并作为新格式的邮件发送
因此,我一直在寻找一种方法,在 Mail.app 中使用 AppleScript 按顺序执行以下操作:
- 拦截传出消息(我们称其为“A”)
- 制作并精确复制消息(我们称其为“B”)传出消息“A”
- 格式化该新制作的消息(“B”)的文本/内容等
- 发送该新格式化的消息(“B”),
- 忽略原始消息(“A”)。
为什么我要做一些看起来如此迟钝的事情?
- Apple 的 Mail.app 令人惊讶的是不会格式化您的邮件的传出内容。< /a>
- 通过执行基本消息>偏好>等等,它仅更改您通过Mail.app看到的消息的字体样式。当您的收件人收到消息时,选择的字体是客户端的默认字体(对于 Outlook 等客户端来说,可能是令人讨厌的 Times New Roman)。
那么为什么不直接要求一个 Applescript 来直接格式化您的外发消息呢?
- (现在我们要做的事情...)
- Apple 不允许我们将当前发出的消息作为对象来获取,这是愚蠢的。
- 然而,Apple 确实允许我们通过对象获取“新创建的消息”(通过创建新的传出消息)。
仍在学习 Applescript 的使用方法,因此,如果有人可以编写一个执行请求的 AppleScript,我将不胜感激。
我的目的是当我点击“发送消息”(通过可爱的键盘大师)时触发Applescript。
这是我可以想出的Applescript框架代码:
set theFont to "Lucida Sans, Lucida Sans Unicode, Lucida Grande, Verdana, Arial"
set theSize to 12
tell application "Mail"
-- 1. intercept an outgoing message
set outMsg to front outgoing message
-- 2. make and exact duplicate of this outgoing message
-- need a little help with extracting...
set fmtMsg to make new outgoing message with properties
{ sender:,
subject:”Convert”,
content:”Please convert and send”
message signature:,
to recipient:,
cc recipient:,
bcc recipient:
}
tell fmtMsg
-- 3. format the text/content etc of this newly made message
set font of content to theFont
set size of content to (theSize)
-- set visible to true
-- 4. send this newly formatted message
send
-- 5. disregard the original one.
-- help?
end tell
end tell
干杯。
So i've been searching around for a way to do the following, sequentially in Mail.app, using AppleScript:
- intercept an outgoing message (let's call this "A")
- make and exact duplicate message (let's call this "B") of the outgoing message "A"
- format the text/content etc of this newly made message ("B")
- send this newly formatted message ("B")
- disregard the original one ("A").
Why would i want to do something that appears to be so retarded?
- Apple's Mail.app amazingly doesn't format the outgoing content of your messages.
- By doing the basic Message > Preference > etc etc it only changes the font-style of the message that you see through Mail.app. When your recipient gets the message, the font chosen is that of the client's default (which can be an abhorring Times New Roman for clients like Outlook).
So why not just ask for an Applescript that formats your outgoing message directly?
- (Now we're on to something... )
- Apple doesn't allow us to get hold of the current outgoing message as an object, which is silly.
- Apple does however allow us to get hold of a "newly made message" (via make new outgoing message) with an object
Still learning the ropes with Applescript, so would greatly appreciate it if anyone could cook up an AppleScript that does the requested.
My intention is to trigger the Applescript when i hit "Send Message" (through the lovely Keyboard Maestro).
Here's the skeleton applescript code i could come up with:
set theFont to "Lucida Sans, Lucida Sans Unicode, Lucida Grande, Verdana, Arial"
set theSize to 12
tell application "Mail"
-- 1. intercept an outgoing message
set outMsg to front outgoing message
-- 2. make and exact duplicate of this outgoing message
-- need a little help with extracting...
set fmtMsg to make new outgoing message with properties
{ sender:,
subject:”Convert”,
content:”Please convert and send”
message signature:,
to recipient:,
cc recipient:,
bcc recipient:
}
tell fmtMsg
-- 3. format the text/content etc of this newly made message
set font of content to theFont
set size of content to (theSize)
-- set visible to true
-- 4. send this newly formatted message
send
-- 5. disregard the original one.
-- help?
end tell
end tell
Cheers.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我没有太多使用邮件,但我编写了一个应该完成这项工作的脚本...
我没有在脚本中添加错误检查(检查收件人的有效地址)。
正如您所说,您无法更改收件人的字体;这可能会被视为骚扰。
如果这个脚本不令人满意,请告诉我,我会为您更改。 :)
更新: 我刚刚阅读了有关在 Mail 中使用 AppleScript 的内容,并且刚刚意识到 Mail 对于 AppleScript 有巨大的限制。我认为最好的选择是使用 GUI 脚本。这个脚本有点hacky,但它应该可以工作。
更新2:
I haven't worked with Mail that much, but I've composed a script that should do the job...
I haven't added error checking in the script (check for a valid address for the recipient).
As you said, you can't change the recipient's font; that might be considered harassment.
If this script isn't satisfactory, just let me know and I'll change it for you. :)
UPDATE: I just read up on using AppleScript with Mail, and just realized that Mail has huge limitations regarding AppleScript. I think your best bet would be to use
GUI Scripting
. This script is kind of hacky, but it should work.UPDATE 2: