回答:
mail -s subject someone@example.com
メッセージを入力し、を押しCtrl+D
て終了します
echo This will be the body of the email | mail -s "This is the Subject" destination@example.com
私が知っている2つのプログラムがあり、コマンドラインからメールを送信するようにMacを簡単に設定できます。
両方のHOWTOを作成しました。
2つのうち、をお勧めしmsmtp
ます。
構成は非常に複雑なので、ここですべての手順を複製する必要があるかどうかはわかり ませんが、Homebrewを使用する 場合は、msmtpを使用してインストールできます。
brew install msmtp --with-macosx-keyring
その後は、関連する構成ファイルを設定するだけです。
最初は /usr/local/etc/msmtprc
# Begin msmtprc
# Set default values for all following accounts.
defaults
tls on
logfile ~/.msmtp.log
# A first gmail address
account example@gmail.com
host smtp.gmail.com
port 587
protocol smtp
auth on
from example@gmail.com
user example@gmail.com
tls on
tls_starttls on
# this next line is crucial: you have to point to the correct security certificate for GMail.
# If this doesn't work, check the mstmp documentation
# at http://msmtp.sourceforge.net/documentation.html for help
#
# This next line should all be on one long line:
tls_trust_file /path/to/Thawte Roots/Thawte SSLWeb Server Roots/thawte Premium Server CA/Thawte Premium Server CA.pem
# Set a default account
# You need to set a default account for Mail
account default : example@gmail.com
# end msmtprc
tls_trust_file
行はhttps://www.thawte.com/roots/index.htmlから証明書をダウンロードしてインストールした場所を指す必要があることに注意してください。
私~/Dropbox/Thawte Roots
は自分のすべてのMacで使えるように私のものを入れました。
次に~/.mailrc
、msmtpバイナリの場所を示すファイルが必要です。使用brew
すると/usr/local/bin/msmtp
、ファイルは次のようになります。
set sendmail="/usr/local/bin/msmtp"
最後の重要なステップは、msmtpが予期する形式でキーチェーンの情報を正確に保持することです。
これで詳細の大部分がカバーされると思います。さらに詳細が必要な場合は、http://www.tuaw.com/2010/05/04/msmtp-a-free-tool-to-send-email-from-terminal/を参照してください。
example@gmail.com
GmailまたはGoogle Appsのメールアドレスに変更します。
~/.msmtprc
メールを送信する最も基本的な方法は、プロバイダー/ネットワークのsmtpサーバーとのtelnetセッションです。サーバーに接続した後、すべてのコマンドの後、サーバーは「250 OK」などのコマンドを受け入れるか、エラーメッセージを受け取らない場合に応答します。
すべての詳細は、RFC2821-Simple Mail Transfer Protocol、Googleに記載されています。この基本的な方法は、メールの送信がうまくいかない理由をテストするのに最適ですが、完全な証拠をスクリプト化するのは非常に複雑だと思います。
まず、ターミナルを起動して、コンピューターのコマンドラインインターフェイスを取得します。次に、次のコマンドを1つずつ続けます。
プロバイダー/ネットワークのsmtpサーバーのポート25へのtelnetセッションを開きます
telnet name_or_ip_of_smtp_server 25
helloとプロバイダー/ネットワークのインターネット名(abc.comなど)
EHLO name_of_your_network
from = returnアドレスが必要です。<および>はコマンドの一部です
MAIL FROM:<your_email_adress>
1つ以上の宛先を指定します。<および>はコマンドの一部です
RCPT TO:<destination_email_address>
RCPT TO:<second_destination_email_address>
RCPT TO:<etc_destination_email_address>
データの送信を開始するサーバーを指定します
DATA
サーバーが応答すると、メールの送信を開始してデータモードになります。
your data
more data
etc
行の文字のみとしてドットでデータを終了するようになりました
.
サーバーはコマンドモードに戻り、終了できます
QUIT
これは私にとってはうまくいきました。Lionを念頭に置いて書かれていますが、Mountain Lionでも機能します。ところで、これはGmailを使用しているので、そうでない場合は...
何もダウンロードする必要はありません!(Gmailアカウントを設定するだけです)
http://www.anujgakhar.com/2011/12/09/using-macosx-lion-command-line-mail-with-gmail-as-smtp/
Gmail SMTPのPostfixの構成ファイル/etc/postfix/main.cfの編集
sudo vim /etc/postfix/main.cf
そして、コメントアウトされたリレーホストの下に以下を追加します:
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_use_tls = yes
smtp_sasl_mechanism_filter = plain
まだ存在しない場合はsasl_passwordを生成します
sudo vim /etc/postfix/sasl_passwd
そして、次を入力してください:-
[smtp.gmail.com]:587 username@gmail.com:password
次のコマンドを実行します
sudo chmod 600 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd
sudo launchctl stop org.postfix.master
sudo launchctl start org.postfix.master
これで完了です…。
これで、コマンドライン内からメールを送信できるようになります。たとえば、ディレクトリの内容をツリーとしてメールアドレスに送信できます
tree /var/www/somefolder | mail -s "contents" your@yourdomain.com
mtcmailは別のオプションです:http : //www.macupdate.com/app/mac/33505/mtcmail-cli。
[この追加テキストは無視してください。追加された理由:本文は少なくとも30文字でなければなりません。27を入力しました。]