Tag: actionmailer

在哪里可以阅读完整的手册来配置SMTP for Rails?

我在Rails新手,我有一些问题。 我使用Devise插件设置了简单的应用程序,通过Capistrano将其部署在生产服务器(Linode上的Ubuntu,nginx +乘客)上。 现在尝试发送电子邮件(密码恢复,电子邮件确认等来自Devise)。 但它确实有效。 我在/enviroments/production.rb中有这些内容 config.action_mailer.default_url_options = { :host => “myhostname.com” } config.action_mailer.delivery_method = :smtp config.action_mailer.raise_delivery_errors = true 当我尝试从我的应用程序发送电子邮件时,我得到500错误“我们很抱歉,但出了点问题。”(乘客)。 在log / production.log中 Net::SMTPServerBusy (451 4.3.0 Temporary system failure. Please try again later.) 我使用exim4作为邮件服务器。 我也尝试安装sendmail并进行更改 config.action_mailer.delivery_method = :sendmail 电子邮件开始发送但应用程序工作很慢。 所以,我的问题是:我需要对我的问题做些什么以及在哪里可以阅读完整的手册或文档来配置exim4以使用rails应用程序? 谢谢。

Rails ActiveJob – 在ActionMailer :: DeliveryJob中处理exception的好方法是什么

我在我的Rails项目中使用ActiveJob + Sidekiq进行任务处理。 我使用MyMailer.some.deliver_later直接发送邮件。 它将自动创建一个ActionMailer::DeliveryJob任务并将其放入Sidekiq队列中。 问题是,从那里处理exception有什么好处? 最好的祝福。

如何序列化和反序列化邮件?

如何将邮件序列化以便存储以供进一步使用? 序列化的数据应该断开连接,并且自足以在应该传递该消息的单独机器上传送(不知道数据库或其他任何东西)。

发送带附件的电子邮件

我有一个邮件如下: class Payments::LateNoticesMailer < AsyncMailer def notice(payment_id) @payment = PaymentDecorator.find(payment_id) @invoice = @payment.invoice template = "payments/invoices/#{@payment.made_with_type.downcase}/show" attachments["#{@payment.invoice_filename}.pdf"] = WickedPdf.new.pdf_from_string( render_to_string( pdf: @payment.invoice_filename, formats: [:pdf], template: template, layout: "layouts/pdf.html")) mail to: @payment.payer_email, from: '"RentingSmart" ‘, cc: @payment.landlord_email, subject: “*** Your rent payment of #{@payment.amount_due} is overdue ***” end end 我用SendGrid发送的。 这是我的问题,如果我通过Gmail打开电子邮件,一切都很好,电子邮件的文本就在那里,并附上附件。 但是,如果我使用OSX的Mail.app或我的iPhone打开它,我只需得到以下内容: 这是MIME格式的多部分消息… 有人有任何提示吗? 我想我正在遵循Rails指南。 这是我拨打Payments::LateNoticesMailer.notice(payment.id).deliver

Rails 4,Devise和Mandrill电子邮件

我正在尝试在Rails 4中制作应用程序。 在过去的3年里,我一直在努力弄清楚设计/ omniauth(我仍然试图让它发挥作用)。 当我试图找到通过这个问题的意愿时,撇开主要问题,我试图用Mandrill设置电子邮件。 我找到了这个教程,我试图遵循这个教程: https : //nvisium.com/blog/2014/10/08/mandrill-devise-and-mailchimp-templates/ 我有一个叫做mandrill_devise_mailer.rb的邮件程序 class MandrillDeviseMailer “Reset your password”, :email => record.email, :global_merge_vars => [ { name: “password_reset_link”, # content: “http://www.example.com/users/password/edit?reset_password_token=#{token}” content: “http://www.cr.com/users/password/edit?reset_password_token=#{token}” }, { name: “PASSWORD_RESET_REQUEST_FROM”, content: record.full_name } ], :template => “Forgot Password” } mandrill_send options end def unlock_instructions(record, token, opts={}) # code to be added here […]

如何在发送之前修改actionmailer email html_part

我已经掌握了即将发送电子邮件的所有内容,但我需要修改所有链接以包含Google Analytics属性。 问题是,如果我尝试读取/写入电子邮件的html_part.body,整个html字符串会以某种方式编码并且不能正确显示电子邮件(即变为<html> )。 我在记录器中记录了html_part.body.raw_source并显示为正确的未编码HTML,只有在实际发送电子邮件时才会发生编码。 EBlast.rb(ActionMailer) def main(m, args={}) # Parse content attachment references (they don’t use helpers like the layout does) # and modify HTML in other ways m.prep_for_email self @email = m # Needed for helper methods in view mail_args = { :to => @user.email, :subject => m.subject, :template_path => ‘e_blast’, :template_name => […]

ActionMailer和Exchange

我使用我的Rails应用程序和我的Postfix服务器成功通过SMTP发送邮件。 现在我需要转到Exchange:Microsoft ESMTP MAIL服务,版本:6.0.3790.3959,启用了POP3和SMTP支持。 我使用actionmailer 1.2.5并且在尝试发送邮件时无法成功登录服务器。 如果我使用Mail.app发送和接收工作正常,只要我将身份validation架构更改为“密码”。 检查服务器如下所示: READ Nov 18 10:37:00.509 [kCFStreamSocketSecurityLevelNone] — host:mail.my-mail-server-domain.com — port:25 — socket:0x11895cf20 — thread:0x11b036a10 250-mail.my-mail-server-domain.com Hello [xxx.xxx.xxx.xxx] 250-TURN 250-SIZE 250-ETRN 250-PIPELINING 250-DSN 250-ENHANCEDSTATUSCODES 250-8bitmime 250-BINARYMIME 250-CHUNKING 250-VRFY 250-X-EXPS GSSAPI NTLM LOGIN 250-X-EXPS=LOGIN 250-AUTH GSSAPI NTLM LOGIN 250-AUTH=LOGIN 250-X-LINK2STATE 250-XEXCH50 250 OK WROTE Nov 18 10:37:00.852 [kCFStreamSocketSecurityLevelNone] — host:mail.my-mail-server-domain.com […]

Rpsec测试失败了’rspec’但没有’rspec path_of_the_file’

如果我运行此命令“rspec ./spec/requests/api/v1/password_reset_request_spec.rb”此文件中的所有测试都通过。 但是当我运行“rspec”时,我对这个文件中的测试有了一个假设。 1) /api/v1/password_reset #request when the email match with a runner when there is no request pending create a token for reset the password Failure/Error: post(“/api/v1/password_reset/request”, @params) NoMethodError: undefined method `reset_password’ for RunnerMailer:Class # ./app/services/password_manager.rb:35:in `reset_password’ # ./app/controllers/api/v1/password_reset_controller.rb:31:in `request_new_password’ # ./spec/requests/api/v1/password_reset_request_spec.rb:108:in `block (5 levels) in ‘ 这是调用该方法的行: RunnerMailer.reset_password(@identity, @identity.reset_password_token).deliver 这是RunnerMailer类: class RunnerMailer < […]

Rails – 使用邮件程序模板为多部分电子邮件设置多个布局

因此Rails 2.2增加了邮件程序布局,这很好,除了我发送一个多部分电子邮件时我无法弄清楚如何使它们工作..我的文本/普通版本的包装我的邮件内容具有相同的布局和text / html版本。 我想要的是将我的布局包裹在text / html版本周围,或者为每个版本设置单独的布局。 有谁遇到过这个? 我其他地方没见过它, 卡梅伦

Rails从一个邮件程序function发送2个不同的电子邮件

我有必要这样做,因为这对我来说似乎合乎逻辑: def notification(vehicle) @vehicle = vehicle mail(:to => @vehicle.owner.email_address, :template_name => “n_o”) mail(:to => @vehicle.booker.email_address, :template_name => “n_b”) 结束 问题是:我只收到最后一封电子邮件。 因此,在上面的示例中,只有预订者才会收到电子邮件,并且没有任何内容发送给所有者。 问题是什么 ? 怎么解决? 我应该创建两个单独的邮件function,例如notification_owner(vehicle)和notification_booker(vehicle),还是有一个更简单的解决方案? 谢谢!