8

Mac では、コマンド を使用してコマンド ラインからメールを送信できますがmail、私の MacBookPro には SMTP サーバーがインストールされていません。

では、SMTP サーバーなしで Ruby でメールを送信することは可能ですか? 速度は気にしません。追加のソフトウェアを必要とせずに電子メールを送信する方法が欲しいだけです。

4

7 に答える 7

5

mailRuby コード内からコマンドを呼び出すことができます。systemシステムコマンドと対話するために、またはバッククォートまたはより洗練されたものを使用open3します...さまざまな方法の概要を次に示します

于 2013-07-28T15:57:05.163 に答える
1

CLI から電子メールを作成して送信することが目標ですか?

mailを含む多数のメーラー gem があります。何をしようとしているのかにもよりますが、Ruby の Net::SMTP を直接操作して何かを動作させることもできます。

于 2013-07-23T14:14:50.127 に答える
0

mailまたはコマンドを使用/usr/sbin/sendmailしてメールが正常に配信された場合は、MTA (Postfix、sendmail などのメール/メッセージ転送エージェント) がマシンで実行されています。

mailコマンドを使用してにメールを送信するguser@gmail.comと、mailコマンドはメールをローカル SMTP サーバーに送信します。

(ローカル) SMTP サーバーは、次のタスクを実行します。

  • SMTP サーバー (MTA) は、gmail.com の MX ルックアップを行います。
  • MX サーバーのポート 25 に接続し、SMTP (HELO、MAIL FROM、RCPT TO、DATA コマンド) を使用してメールを渡します。

Mx サーバーはメールを対応するメールボックス (guser) に配信します。

上記の回答は、Net::SMTP を使用して、SMTP サーバーに接続し、その SMTP サーバーにメールを渡すことを示唆しています。これにより、(上記のローカル SMTP サーバーの) 上記のタスクが再度実行され、配信が実行されます。

メールを送信するには、SMTP サーバーが必要です。または、MX ルックアップを実行し、RFC 2821 に従って SMTP コマンドを使用して MX サーバーにメールを渡すために、自分でコーディングするかライブラリを使用する必要があります。

于 2013-08-03T22:54:59.403 に答える