0

だから私は誰かがお問い合わせフォームに記入したときにメールを送信しようとしていますが、私が追加したとき:

export GMAIL_USERNAME="myapp@domain.com"
export GMAIL_PASSWORD="secret"

わたしの

~/.bashrc

ファイルを作成し、development.rbファイルを次のように設定すると、アプリは

Net::SMTPAuthenticationError 530-5.5.1 Authentication Required

しかし、実際の値に置き換えて入力するENV["GMAIL_USERNAME"]と、メールの送信に問題はありません。ファイルに追加することで、 &が実際の値に置き換えられることを保証しませんか?誰か助けてもらえますか?ENV["GMAIL_PASSWORD"]development.rb~./bashrcENV["GMAIL_USERNAME"]ENV["GMAIL_PASSWORD"]

私はグーグルの指示を試しましたが、(実際の値とは対照的に)ENV["GMAIL_USERNAME"]&を使用すると機能しません。ENV["GMAIL_PASSWORD"]

development.rbこれが私のファイルの関連部分です:

  # Raise error if the mailer can't send
  config.action_mailer.raise_delivery_errors = true

  config.action_mailer.perform_deliveries = true
  config.action_mailer.default :charset => "utf-8"

  # Use SMTP to send mail
  config.action_mailer.delivery_method = :smtp

  # Use awesomeness@novulty.com (google app) to send smtp mail
  config.action_mailer.smtp_settings = {
    :address              => "smtp.gmail.com",
    :port                 => 587,
    :domain               => "domain", # real domain name in my file
    :user_name            => ENV["GMAIL_USERNAME"],
    :password             => ENV["GMAIL_PASSWORD"],
    :authentication       => :plain,
    :enable_starttls_auto => true
  }

  # Specify what domain to use for mailer URLs
  config.action_mailer.default_url_options = {
    host: "localhost:3000"
  }

ありがとう!

更新しました

私の.bashrcファイルは次のようになります。

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
export GMAIL_USERNAME=***********
export GMAIL_PASSWORD=***********

しかし、ターミナルを開いて入力するenvと、GMAIL_*変数はリストされませんが、rvmがに追加されPATHます。これは私を悩ませています...ハハ。

再度、感謝します!

4

2 に答える 2

1

Bash内にルビーを書き込もうとしたようです:許可されていません。環境変数を設定するための正しい構文は次のとおりです。

export GMAIL_USERNAME=myapp@domain.com

実行envして、正しく設定されたことを確認できます。

于 2012-10-09T05:06:20.093 に答える
1

実際、私のシェルは.bashrcファイルを読み取っていなかったので、ファイルに含める必要がありsource ~/.bashrcました~/.bash_profile。その後、すべてがうまくいきました。助けてくれてありがとう@David!

于 2012-10-09T07:28:20.457 に答える