Mac では、コマンド を使用してコマンド ラインからメールを送信できますがmail
、私の MacBookPro には SMTP サーバーがインストールされていません。
では、SMTP サーバーなしで Ruby でメールを送信することは可能ですか? 速度は気にしません。追加のソフトウェアを必要とせずに電子メールを送信する方法が欲しいだけです。
mail
Ruby コード内からコマンドを呼び出すことができます。system
システムコマンドと対話するために、またはバッククォートまたはより洗練されたものを使用open3
します...さまざまな方法の概要を次に示します。
CLI から電子メールを作成して送信することが目標ですか?
mailを含む多数のメーラー gem があります。何をしようとしているのかにもよりますが、Ruby の Net::SMTP を直接操作して何かを動作させることもできます。
mail
またはコマンドを使用/usr/sbin/sendmail
してメールが正常に配信された場合は、MTA (Postfix、sendmail などのメール/メッセージ転送エージェント) がマシンで実行されています。
mail
コマンドを使用してにメールを送信するguser@gmail.com
と、mail
コマンドはメールをローカル SMTP サーバーに送信します。
(ローカル) SMTP サーバーは、次のタスクを実行します。
Mx サーバーはメールを対応するメールボックス (guser) に配信します。
上記の回答は、Net::SMTP を使用して、SMTP サーバーに接続し、その SMTP サーバーにメールを渡すことを示唆しています。これにより、(上記のローカル SMTP サーバーの) 上記のタスクが再度実行され、配信が実行されます。
メールを送信するには、SMTP サーバーが必要です。または、MX ルックアップを実行し、RFC 2821 に従って SMTP コマンドを使用して MX サーバーにメールを渡すために、自分でコーディングするかライブラリを使用する必要があります。