2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Macでコマンドラインからメール送信

Posted at

#はじめに

コマンドライン(Bashスクリプト)からメール送信がしたくなったため、
方法を調べてみました。

メール送信スクリプト

今回はAppleScriptを使って送付しています。
初回実行時は、TerminalやiTerm2から実行する権限付与の確認ダイアログが出るかもしれません。

Outlookで送る場合

添付ファイルとCCもつけてます。

#!/bin/bash

FileName="/Users/foo/Desktop/bar.txt"
RecipientMail="foobar@example.com"
MyMail="hoge@example.com"

# Send filec result via Outlook
osascript <<EOF
set theAttachment to "$FileName"
set theAttachment to theAttachment as POSIX file--convert to posix file
set theRecipient to "$RecipientMail"
set theCCRecipient to "$MyMail"
set theSubject to "タイトル"
set theContent to "foobar様\r\rこんにちは\rファイルも添付します。\r\rhoge"

tell application "Microsoft Outlook"
    set theMessage to make new outgoing message with properties {subject:theSubject, plain text content:theContent}
    make new recipient at theMessage with properties {email address:{address:theRecipient}}
    make new recipient at beginning of theMessage with properties {email address:{address:theCCRecipient}, type:cc recipient type}
    tell theMessage--tell theMessage (not theContent) to add the attachment
        make new attachment with properties {file:theAttachment}
    end tell
    send theMessage
end tell
EOF

Mail.appで送る場合

若干構文が違います。
CCの仕方はまだ分からず。

#!/bin/bash

# Mail app
osascript <<EOF
set recipientName to "foobar"
set recipientAddress to "foobar@example.com"
set theSubject to "Test Message"
set theContent to "Mail\rtest"
set theAttachment to "/Users/hoge/dummy.txt"
set theAttachment to theAttachment as POSIX file--convert to posix file

tell application "Mail"
    set theMessage to make new outgoing message with properties {subject:theSubject, content:theContent, visible:true}
    tell theMessage
       make new to recipient with properties {name:recipientName, address:recipientAddress}
       make new attachment with properties {file name:theAttachment as alias}
    end tell
end tell
EOF
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?