Tag: actionmailer

如何在没有模板的情况下使用rails发送邮件?

在我的Rails 3项目中,我想发送一些简单的通知邮件。 我不需要为他们制作模板或做任何逻辑。 我只是想从系统中的各个地方把它们烧掉。 如果我在一个任意的ruby脚本中这样做,我会使用小马 。 不过,我仍然想使用rails的邮件设备和configuration,这样我就可以获得与我系统中其他邮件相同的可靠性和设置。 什么是最简单的方法来做到这一点? 理想情况下,会有一些方法 ActionMailer.send(:to => 'foo@example.com', :subject =>"the subject", :body =>"this is the body")

ActionMailer不在发送Rails 4中发送邮件

为什么这封邮件不发送任何邮件? (或debugging任何想法?) 在my_app / config / environments / development.rb我有这样的代码: config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { address: 'smtp.gmail.com', port: 587, domain: 'my_app.com', user_name: ENV['GMAIL_USERNAME'], password: ENV['GMAIL_PASSWORD'], authentication: 'plain', enable_starttls_auto: true } 然后在我的本地计算机〜/ .bash_profile我有这样的代码: export GMAIL_USERNAME='blah@my_app.com' export GMAIL_PASSWORD='***' 当我在terminal中运行$ env时,我发现两个环境variables都正确设置。 我也重新启动了我的rails服务器。

使用ActionMailer在Rails中发送给多个收件人

我试图根据我的数据库中的布尔值发送多个电子邮件。 该应用程序是一个简单的调度应用程序,用户可以将他们的class次标记为“replacement_needed”,这应该发送电子邮件给所有请求接收这些电子邮件的用户。 麻烦的是,它似乎只能发送到一个电子邮件。 这是我现在的代码: def request_replacement(shift) @shift = shift @user = shift.user @recipients = User.where(:replacement_emails => true).all @url = root_url @recipients.each do |r| @name = r.fname mail(:to => r.email, :subject => "A replacement clerk has been requested") end end

Rails – 你如何testingActionMailer在testing中发送了一个特定的电子邮件

目前在我的testing中,我做了这样的事情来testing电子邮件是否排队发送 assert_difference('ActionMailer::Base.deliveries.size', 1) do get :create_from_spreedly, {:user_id => @logged_in_user.id} end 但如果ia控制器的行动可以发送两个不同的电子邮件,即一个用户如果注册罚款或通知pipe理员,如果出了问题 – 我怎么能testing哪一个实际得到发送。 上面的代码会通过。

在Rails 3中设置一个Gmail账户来处理ActionMailer

我有一个设置为发送电子邮件到Gmail帐户的联系页面表单。 唯一的问题是它不会发送。 我相信我已经缩小了到初始化程序目录中的设置的错误。 这些是我目前的设置,试图build立一个标准的Gmail帐户发送邮件: 难道是我的域设置是错误的,或者我应该inputmyemail@gmail.com为:user_name ? 这是我第一次使用ActionMailer,所以我不知道自己在做什么。 有人可以帮我吗? 谢谢!

使用Rails将图像embedded到电子邮件中的正确方法是什么?

使用Rails将图像embedded到电子邮件中的正确方法是什么?

在RSpectesting后清除ActionMailer :: Base.deliveries

我有我的UserMailer类下面的RSpectesting: require "spec_helper" describe UserMailer do it "should send welcome emails" do ActionMailer::Base.deliveries.should be_empty user = Factory(:user) UserMailer.welcome_email(user).deliver ActionMailer::Base.deliveries.should_not be_empty end end 这个testing是第一次通过,但是第二次运行失败了。 在做了一些debugging之后,看起来第一个testing将一个项目添加到ActionMailer :: Base.deliveries数组中,并且该项目从未被清除。 这会导致testing的第一行失败,因为数组不是空的。 在RSpectesting之后清除ActionMailer :: Base.deliveries数组的最好方法是什么?

邮件中的image_tag不使用asset_host

image_tag没有使用我设置的asset_host。 任何想法为什么? 我能想到的唯一的事情就是它是一个梅勒。 configuration/环境/ development.rb config.action_controller.asset_host = "http://localhost:3000" myMailer.rb <%= image_tag "logo.png", :style=>"margin-left:10px; padding-bottom:15px;" %> 呈现为: <img alt="Logo" src="http://img.dovov.comlogo.png?1303090162" style="margin-left:10px; padding-bottom:15px;" /> 在控制台中: > MyApp::Application.config.action_controller #<OrderedHash {… :asset_host=>"http://localhost:3000", …}> 我需要image_tag来创build一个完整的pathurl,因为它会显示在一个电子邮件。

在开发环境中使用Rails 3发送邮件

我相信这个问题已经被提出了一百万次,但是我找不到任何对我有用的东西,所以我再次提问! 我只需要在rails 3中使用ActionMailer发送电子邮件。我遵循了许多教程,包括新的ActionMailer的Railscasts教程,我可以看到正在生成的邮件,但是我没有收到它们。 我已经尝试了一堆不同的方法,但他们通常相当于configuration以下设置 ActionMailer::Base.delivery_method = :smtp ActionMailer::Base.smtp_settings = { :address => "smtp.gmail.com", :port => "587", :domain => "gmail.com", :user_name => "xxx@gmail.com", :password => "yyy", :authentication => "plain", :enable_starttls_auto => true } 我已经在我的config / environment.rb,config / environments / development.rb中尝试了上面的代码(当然有有效的gmail细节),并且目前已经在它自己的初始化configuration/ initialisers / setup_mail.rb 我也尝试了几个不同的SMTP服务器,包括Gmail和Sendgrid,相应地调整SMTP设置,但什么也没有。 我可以在terminal和开发日志中看到邮件,就是这样。 有没有人知道任何其他问题,我可能已经错过了需要安装的ActionMailer工作? 如果没有办法获得关于邮件为什么不被发送的更多信息? 我有 config.action_mailer.raise_delivery_errors = true 在我的config / development.rb中设置,但是开发日志仍然显示与我在terminal中看到的相同。 对于它的价值,我正在开发一个Ubuntu 10.04笔记本电脑,以防万一有任何具体的设置需要的。 […]

如何定义回复地址?

我如何定义一个不同于以下地址的回复地址? 这甚至可能吗?