8

私はここ数日、Rails の使用方法の学習に取り組んでおり、Google では解決できない問題に遭遇しました。

そのため、メールを送信する基本的な連絡フォームを作成しているだけです。テストではすべてが正常に機能しているようで、フォームが機能しており、ActionMailer が正しく実装されていることがわかりますが、ActionMailer の構成に問題があります。OSX 10.6.2 を実行しています。私は postfix を実行しており、それが を使用して実行されていることを確認しましたtelnet localhost 25。フォームを使用しようとすると、「接続が拒否されました」というエラーが表示されます。

これは私の現在の構成です:

config.action_mailer.smtp_settings = {
  :address  => 'localhost',
  :port     => 25
}

設定する必要があるかもしれないと思っ:domainたのですが、この状況で何を設定する必要があるのか​​ ちょっと混乱しています。

4

5 に答える 5

6

私の人生は、私のMacでの配信方法として:smtpではなく:sendmailを実行する方が約100倍簡単でした。あなたはそれを試してみたくなるかもしれません。この回答では、Macでのメール配信だけが必要であり、実際にはどのように機能するかは気にしないと想定しています。

プロジェクトで常にネットに接続する場合、もう1つ行うことは、ActionMailerから送信された送信メールが、ローカルMacではなくGmailを経由するように構成することです。

ActionMailer :: Base.delivery_method =:smtp

ActionMailer :: Base.smtp_settings = {
:enable_starttls_auto => true、
  :address => "smtp.gmail.com"、
  :port => 587、
  :domain => "example.com"、
  :authentication =>:plain、
  :user_name => "address@example.com"、
  :password => "secret"
}

これは、ドメインのGoogleアプリに設定されているexample.comというカスタムドメイン用です。Gmailアカウントを作成して、そこから送信することもできます。(example.comのすべてのインスタンスをgmail.comに変更することにより)

于 2010-01-29T03:07:25.390 に答える
6

postfix デーモンを起動する必要があります。ターミナルに入力することで、ポートが開いているかどうかを確認できます

telnet localhost 25

25 ポートに接続しようとします。postfix が実行されていないと接続しません。実行されている場合は、ctl-] を押して接続を停止し、「quit」で telnet を終了します。

接続しない場合は、postfix デーモンを開始する必要があります。

sudo launchctl start org.postfix.master

そして、telnet で接続してみます。接続する必要があります。これで、ActionMailer クラスから電子メールを送信する準備が整いました。

sudo launchctl stop org.postfix.master

後置デーモンを停止します

于 2010-03-29T15:10:59.563 に答える
0

「localhost」を「127.0.0.1」に置き換えて、これが IPv4 と IPv6 の問題なのか、それともリゾルバーの問題なのかを確認すると機能しますか?

于 2009-12-21T21:18:28.587 に答える