Tag: actionmailer

我在哪里为ActionMailer视图添加帮助方法?

我有一个方法,它接受一个字符串数组并加入它们,所以他们做这样的事情: >> my_arr => [“A”, “B”, “C”] >> and_join(my_arr) => “A, B, and C” 我希望我的邮件可以访问,以便我可以将一些信息输出到电子邮件中。 我似乎无法找到一个好的地方把它放在application_helper.rb文件中,它没有在那里找到它。 它应该去哪里?

使用Rails邮件程序的Net :: OpenTimeout(执行过期)exception

我在生产服务器上发送电子邮件时遇到问题。 邮件处理新邮件时,调用exceptionNet::OpenTimeout (execution expired) 我的smtp设置: #settings.yml production: smtp: address: smtp.gmail.com port: 587 domain: mydomain.net user_name: username@gmail.com password: password authentication: plain enable_starttls_auto: true 我的环境设置: #production.rb config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = Settings.smtp.symbolize_keys 从日志: Sent mail to username@gmail.com (30010.1ms) I, [2014-10-15T12:59:22.371563 #19779] INFO — : Completed 500 Internal Server Error in 30051ms F, [2014-10-15T12:59:22.373984 #19779] FATAL — :. […]

Ruby on Rails中的Sendgrid /电子邮件发送问题(在Heroku上托管)

我有一个问题,让sendgrid成功地在rails 3.1应用程序上发送电子邮件,该应用程序使用authlogic进行身份validation并部署在heroku上。 我在config / environments / [development.rb和production.rb]上有以下动作邮件配置: config.action_mailer.delivery_method = :smtp config.action_mailer.default_url_options = { :host => ‘localhost:3000’ } config.action_mailer.default_charset = “utf-8” config.action_mailer.raise_delivery_errors = true config.action_mailer.perform_deliveries = true config.action_mailer.smtp_settings = { :address => ‘smtp.sendgrid.net’, :port => 587, :domain => ENV[‘SENDGRID_DOMAIN’], :user_name => ENV[‘SENDGRID_USERNAME’], :password => ENV[‘SENDGRID_PASSWORD’], :authentication => ‘plain’, :enable_starttls_auto => true } 对于production.rb,上面的代码是相同的除外 config.action_mailer.default_url_options = { […]

使用ActionMailer发送多部分邮件时出现问题

我正在使用以下代码在rails中发送电子邮件: class InvoiceMailer invoice end part “text/plain” do |p| p.body = render_message ‘invoice_plain’, :invoice => invoice end pdf = Prawn::Document.new(:page_size => ‘A4’) PDFRenderer.render_invoice(pdf, invoice) attachment :content_type => “application/pdf”, :body => pdf.render, :filename => “factuur.pdf” invoice.course.course_files.each do |file| attachment :content_type => file.content_type, :body => File.read(file.full_path), :filename => file.filename end end end 对我来说似乎很好,电子邮件也会在Gmail网络界面中显示出来。 但是,在Mail(Apple程序)中,我只得到1个附件(应该有2个附件)并且没有文本。 我似乎无法弄清楚是什么导致了它。 我从日志中复制了电子邮件: 已发送邮件至xxx@gmail.com […]

如何使用Actionmailer / Ruby on Rails发送具有多个动态smtp的电子邮件

我看过这个post但是我的略有不同: Rails ActionMailer具有多个SMTP服务器 我允许用户使用自己的SMTP凭据发送邮件,因此它实际上来自他们。 但它们将从Rails应用程序发送,这意味着每个用户需要使用自己的SMTP服务器发送电子邮件。 我怎样才能做到这一点?

如何在ActionMailer中捕获错误exception

问题是如何通过ActionMailer捕获邮件中的exception。 对我来说听起来不可能,因为在这种情况下,ActionMailer应该发送邮件到mailserver,如果mailserver返回错误,ActionMailer应该向我显示此错误。 我只对计算未交付的邮件感兴趣。 你有任何想法如何实现这个? 谢谢!

Ruby / Rails ActionMailer不使用NTLM

我正在我的项目中设置邮件程序,我在通过Exchange SMTP服务器发送邮件时遇到困难。 我已经安装了gem ruby-ntlm但我仍然unrecognized authentication type 。 这是我的代码 的environment.rb # Load the Rails application. require File.expand_path(‘../application’, __FILE__) require ‘ntlm/smtp’ # Initialize the Rails application. Rails.application.initialize! notifier.rb class Notifier “stephen.edwards@foostix.lu” def test mail(:to => “stephen.edwards@foostix.lu”, :subject => “Test subject”).deliver end end development.rb config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { :address => “**REMOVED**”, :port => 587, :domain => […]

使用sidekiq时Rails动作邮件程序中的动态域名

在我的要求中,单个项目有不同的域名。我想发送重置密码链接与用户请求重置密码的域名。为此我在application_controller.rb中完成了以下操作并且它运行良好。 before_filter :set_mailer_host def set_mailer_host ActionMailer::Base.default_url_options[:host] = request.host_with_port $url_host = request.host_with_port end 后来,我使用了sidekiq作为延迟邮件程序,并在整个应用程序中更新如下 Notifier.delay.password_reset(user.id) 由于邮件程序配置了sidekiq,它使用的是仅在配置中提供的默认域名,并且它没有使用application_controller.rb上的请求提供的动态域名 任何关于在sidekiq运行的邮件程序上获取动态域的建议都将非常感激。 Rails – 3.2.8 Ruby – 1.9.3 sidekiq – 2.13.1 谢谢!!!

在生产ROR中通过动作管理器发送邮件的严重问题

我真的需要这方面的帮助,一直试图解决这个问题3天:(我的应用程序应该在收到或发送订单时向客户发送电子邮件,但它会不断突破此错误。 I, [2017-05-23T11:01:44.741054 #1060] INFO — : Completed 500 Internal Server Error in 66ms (ActiveRecord: 4.2ms) F, [2017-05-23T11:01:44.743481 #1060] FATAL — : SocketError (getaddrinfo: Name or service not known): app/admin/order.rb:6:in `block (2 levels) in ‘ 我的动作管理器设置似乎是正确的: config.action_mailer.default_url_options = { host: ‘mypage.com’} config.action_mailer.perform_deliveries = true config.action_mailer.raise_delivery_errors = true config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { address: ENV[“SMTP_ADDRESS”].inspect, […]

Rails 3 ActionMailer破坏了附件

我正在使用Rails 3.2.13并一直关注ActionMailer指南( http://guides.rubyonrails.org/action_mailer_basics.html#sending-emails-with-attachments ),但我在发送电子邮件时遇到了困难附件。 执行后,电子邮件正确发送,但附件始终已损坏。 特别是,我看到呈现的电子邮件和附件的正确文件名,但作为1KB文件无法打开。 我已经看到了关于堆栈溢出和其他地方的类似问题(例如Rails 3:发送带附件的邮件 – 第一次发送后损坏的文件和Rails 3.0.7 ActionMailer附件问题 ),但是所提供的解决方案都没有提供帮助。 我尝试了两种不同的传输方式(Gmail SMTP和Sendgrid),多种文件类型(png,pdf等),以及内联和普通附件,但总是具有相同的效果。 这是邮件的代码: class UserMailer user.email, :subject => “Welcome”) end end 我在我的控制器中调用它看起来像这样(我在这里使用delayed_job,但即使没有它,附件也会被破坏): UserMailer.delay.welcome_email(@user)