Tag: actionmailer

关于如何发送群发邮件而不以垃圾邮件结尾的原则

我把一个非常好的群发邮件放在一起,但偶尔邮件会因各种原因在各种邮件提供商的垃圾邮件中结束。 有没有人知道是否有关于发送群发邮件的最佳做法的任何地方?

Rails 3.0.7 ActionMailer附件问题

我正在尝试将文件附加到外发电子邮件,但附件大小最终为1个字节。 无论我转发什么附件,它总是以1字节的大小(腐败)结束。 其他一切看起来都不错。 电子邮件信息从IMAP帐户中提取并存储在数据库中以供浏览。 附件存储在文件系统中,其文件名存储为电子邮件的关联记录。 在视图中,可以选择将电子邮件转发给其他收件人。 它适用于Rails 2.3.8,但是对于Rails 3,我必须更改方法的附件部分,所以现在它看起来像…… def forward_email(email_id, from_address, to_address) @email = Email.find(email_id) @recipients = to_address @from = from_address @subject = @email.subject @sent_on = Time.now @body = @email.body + “\n\n” @email.attachments.each do |file| if File.exist?(file.full_path) attachment :filename => file.file_name, :body => File.read(file.full_path) else @body += “ATTACHMENT NOT FOUND: #{file.file_name}\n\n” end end end […]

通过Rails将对象作为变量发送到Mandrill

我正在将一个电子邮件模板从Rails转换为Mandrill,其内容需要相当数量的数据,其中一些数据通过多个关联嵌套。 因此,我想通过Mandrill的global_merge_vars传递对象,例如(简化)以下: [{ ‘name’=>’order’, ‘content’=> @order.to_json(include: { user: { only: :first_name } }, methods: [:method1, :method2, :method3, :method4]) }] 它通过orderr变量下的mandrill模板,类似于以下内容: {“id”:11,”number”:”xxxx”,”item_total”:”112.0″… “user”:{“first_name”:”Steve”},”method1″:”£0.00″,”method2″:”£112.00″, “method3″:”£112.00″,”method4″:”£0.00”} 问题是,我无法访问order任何内容(使用Handlebars),即{{order.id}} , {{order[‘id’]}}等不会工作。 将数据分解为大量变量不是一种选择,因为一些元素是集合及其关联。 我相信问题就出现了,因为在为Mandrill编译变量时所有内容都是字符串化的 – 因此打破了JSON对象 – 下面是一段发送的内容: “global_merge_vars”=>[{“name”=>”order”, “content”=>”{\”id\”:11, \”number\”:\”xxxx\”,\”item_total\”:\”112.0\”… 我似乎无法找到任何处理这个的文档/建议,所以我想知道是否可以传递这种性质的数据,如果是这样,如何正确传递它以便能够访问Mandrill中的对象模板。 任何建议非常感谢! 史蒂夫。

Actionmailer中的电子邮件NoMethodError

我是购买确认的NoMethodError。 不知道我在这里缺少什么。 NoMethodError在/购买未定义的方法`email’为nil:NilClass purchase_confirmationapp/mailers/purchase_mailer.rb # en.purchase_mailer.purchase_confirmation.subject 8 # 9 def purchase_confirmation(purchase) 10 @greeting = “Hi” 11 12 mail to: purchase.email, subject: “Purchase Confirmation” 13 end 14 end createapp/controllers/purchases_controller.rb 1 class PurchasesController [:index, :edit, :update, :destroy] 3 def create 4 @purchase = Purchase.new(params[:purchase]) 5 if @purchase.save 6 PurchaseMailer.purchase_confirmation(@purchase).deliver 7 redirect_to “/thankyou” 8 else 9 10 render […]

为什么电子邮件无法发送?

我尝试允许用户在登录我的网络应用程序后,从他们的个人资料页面向应用程序外的某人发送电子邮件。 当我按模式中的“发送电子邮件”时,我收到通知’电子邮件失败’。 任何想法为什么失败? 我一直试图解决这个问题一周,所以非常感谢一些帮助! 谢谢! 路线: devise_for :users resources :profiles do put :email_profile end Profile Controller: def email_profile @profile = Profile.find(params[:profile_id]) destination = params[:to] share = Share.profile(@profile, destination) if destination =~ /@/ && share.deliver redirect_to @profile, notice: ’email sent’ else redirect_to @profile, notice: ’email failed’ end end 资料显示视图: Email ×Close Share my Info with someone […]

Gmail的动作邮件程序配置

我正在尝试使用Gmail SMTP向我的应用添加电子邮件。 我之前已经完成了“不太安全的应用程序”的方式,但我不想在这个项目中使用这个选项。 我试图调查谷歌的文档或一些gem,使其工作,但无济于事。 每个人都只发送一些代码(如下所示,通常与我的相同)或者告诉我尝试’安全性较低的应用’。 我在production.rb上的当前动作邮件程序配置是: config.action_mailer.perform_caching = false config.action_mailer.delivery_method = :smtp config.action_mailer.default_url_options = { :host => ENV[‘DOMAIN_NAME’] } config.action_mailer.asset_host = ENV[‘DOMAIN_NAME’] config.action_mailer.smtp_settings = { :address => ‘smtp.gmail.com’, :port => 587, :authentication => :plain, :user_name => ENV[‘USERNAME’], :password => ENV[‘PASSWORD’], :enable_starttls_auto => true } 有人说我需要“:domain =>’gmail.com’”,但是它的“安全性较低的应用程序”选项可行,所以我的猜测是问题不是那么简单。 此外,人们谈论将’authentication :: plain’更改为:login。 另外,我意识到在官方的Rails文档中它说: 注意:截至2014年7月15日,Google增加了其安全措施,现在阻止其认为不太安全的应用程序的尝试。 您可以在此处更改您的Gmail设置以允许尝试。 如果您的Gmail帐户启用了双因素身份validation,那么您需要设置应用密码并使用该密码而不是常规密码。 或者,您可以使用另一个ESP通过将上面的’smtp.gmail.com’替换为您的提供商的地址来发送电子邮件。 (来自http://guides.rubyonrails.org/action_mailer_basics.html#action-mailer-configuration-for-gmail […]

使用Rails从SMTP服务器响应

当我使用Mailer.deliver方法发送电子邮件时, Mailer.deliver使用ActionMailer从Ruby on Rails中的SMTP服务器获取响应? 我找到了Actionmailer SMTP服务器响应答案,但它不起作用……任何想法? 我需要它,因为AWS SES会返回消息ID ,这是将消息链接到他们提供的退回或垃圾邮件报告的唯一方法。

Actionmailer如何运作?

如果我需要给2个人发一封信,我怎么能这样做? 我在网上找到了文档,但我不理解它们,你能告诉我并用简单的语言解释我吗?

wicked_pdf没有在ActionMailer中加载页眉或页脚

我正在尝试使用以下代码生成pdf: archivo = render_to_string( :pdf => “formulario_de_registro.pdf”, :template => ‘pdf/profile_download.pdf.haml’, :layout => ‘pdf/body.pdf.haml’, :margin => { :bottom => 40, :top => 30 }, :header => { :html => { :template => ‘layouts/pdf/header.pdf.haml’}, :font_size => 13}, :footer => { :html => { :template => ‘layouts/pdf/footer.pdf.haml’}, :line => true} ) # from here is just for debugging […]

使用带有块的mail_to(mail_to … do)

我想执行以下操作来插入样式化的mail_to : Reply by Email RoR文档并不特定于mail_to块的主题,但上面的代码似乎不起作用。 有没有办法与mail_to一起做一个块?