1

herokuサーバーでGmailの環境変数を設定できない理由がわかりません。私は実行し、実行することにより、彼らのドキュメントに従って簡単にユーザー名を設定しました

heroku config:add GMAIL_USERNAME=usersname@gmail.com

しかし、メーラーで使用するためにこれに合わせてパスワードを設定しようとすると、

heroku config:add GMAIL_PASSWORD=mypassword

エラーが発生します

zsh: no matches found: GMAIL_PASSWORD=mypassword

なぜこの変数をこのように設定できないのか、シェルからこの出力を取得するのはなぜかわかりません。

私のセットアップのこの部分に関するいくつかのこと。

loca_env.yml-メーラーのユーザー名とパスワードに使用し、チェックインします(したがって、これをheroku.gitignoreサーバーに設定します)。

メーラー初期化子-

ActionMailer::Base.smtp_settings = {
    :enable_starttls_auto => true,
    :address => "smtp.gmail.com",
    :port => "587",
    :domain => "gmail.com",
    :authentication => :plain,
    :user_name => ENV["GMAIL_USERNAME"],
    :password => ENV["GMAIL_PASSWORD"]
}

ActionMailer::Base.default_url_options[:host] = "myapp.herokuapp.com"

local_env.ymlローカルで正常にメール送信され、バージョン管理にチェックインせずに本番環境でテストしようとしています。私が理解していない単純な何か?

4

2 に答える 2

6

ほとんどの場合、シェルを特殊文字の処理方法を変えることができます。zshの場合は、次heroku config:add X='erwrewr#' のことを試してください。一重引用符を使用すると、ほとんどの特殊文字が抑制されます。

于 2013-03-11T11:46:45.797 に答える
0

さらに30分間それをいじるまで私が考えていなかった何か。

実際のパスワードは「#」で終わっていたため、シェルエラーが発生していました。このエッジケースに自分自身を見つけた人のために..別のシェルに設定することを許可しない特殊文字が何であるかはわかりませんが、同様のエラーに遭遇した場合に確認する必要があります。

于 2013-03-10T22:52:49.617 に答える