我在 OS X 10.7 中使用 Mail.app。在一个文本文件中,我有一个包含 500 个不同电子邮件地址的列表,这些地址是从我的地址簿中提取的,每个地址都在不同的行中。
我想发送一些圣诞祝福。所以我准备了一个文本模板,我想在电子邮件中向每个收件人发送相同的文本,只发送给每个人。所以我想知道是否可以使用一些脚本在 OS X 中以非交互方式完成此操作。在 Linux 中,我认为这可以使用“mutt”来完成。
答案1
如果邮件正文相同,那么最好和最简单的方法就是将所有地址复制并粘贴到密件抄送字段中(您可能需要取消隐藏:查看 → 密件抄送地址字段)。您只需复制并粘贴整个文本文件的内容,Mail 就会正确检测地址。
这样做意味着您只向服务器发送一封电子邮件,但每个收件人都会看到该邮件仅发给他们自己,而看不到其他任何人的地址。
话虽如此,如果你真的想自动化这个,我为你提供了一个 AppleScript。打开AppleScript 编辑器并粘贴此代码:
set theAddressFile to (choose file with prompt "Select Addresses File")
set theTextFile to (choose file with prompt "Select Message Body File")
-- read each line into a list, discarding newline at end of file
set theEmails to read theAddressFile using delimiter (ASCII character 10)
set theBodyText to read theTextFile
tell application "Mail"
repeat with anEmail in theEmails
set theNewMessage to make new outgoing message with properties {subject:"My Subject", content:theBodyText, visible:false}
tell theNewMessage
make new to recipient at end of to recipients with properties {address:anEmail}
send
end tell
end repeat
end tell
运行时,它会提示您输入两个文件 — 第一个文件用于存放地址(每行一个,不能有其他内容,否则会出错),第二个文件用于存放正文。然后它会(使用 Mail.app)向每个地址发送一封电子邮件。您需要将代码中的主题(当前为My Subject
)更改为合适的内容。