env ['GMAIL_USERNAME']没有被rails应用程序读取

时间:2012-10-09 04:53:37

标签: ruby-on-rails ruby-on-rails-3

因此,当有人填写联系我们表单时,我正在尝试发送电子邮件,但是当我添加:

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中有~./bashrc的实际值,然后发送电子邮件就没问题了。 ENV["GMAIL_USERNAME"]文件的添加不会确保ENV["GMAIL_PASSWORD"]& ENV["GMAIL_USERNAME"]被真实价值所取代?有人可以帮忙吗?

我已经尝试了google's instructions,但是当我使用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" } 文件的相关部分:

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

谢谢!

已更新

我的.bashrc文件如下所示:

env

但是当我打开终端并输入GMAIL_*时,PATH变量未列出,但rvm已添加到{{1}}。这让我烦恼......哈哈。

再次感谢!

2 个答案:

答案 0 :(得分:1)

看起来你试图在Bash中写一些ruby:不允许。设置环境变量的正确语法是:

export GMAIL_USERNAME=myapp@domain.com

您可以运行env以验证其设置是否正确。

答案 1 :(得分:1)

实际上,事实证明我的shell没有读取.bashrc文件,因此我必须在source ~/.bashrc文件中包含~/.bash_profile。之后一切都有效。谢谢@David的帮助!