使用 mail_form freeze 发送电子邮件,没有错误 rails

如何解决使用 mail_form freeze 发送电子邮件,没有错误 rails

我有与我们联系的表格,我使用本地主机在开发环境中工作,用户填写姓名、电子邮件和消息,然后点击发送消息按钮,然后我收到一封电子邮件

我使用

实现了解决方

Ruby v 2.4.1

Rails v 5.1.4

mail_form

我按照以下链接中的步骤操作 https://gist.github.com/stevecondylios/e819a296167a31578d82fac881963789

在此功能适用于某些电子邮件之前,现在根本不起作用,我没有收到错误消息,也没有在 mailgun 电子邮件提供商中显示日志

这是我得到的最后一个日志

Processing by HomepageController#create as JS
  Parameters: {"utf8"=>"✓","homepage"=>{"name"=>"AMER Y BEaraT","email"=>"bearatamer@gmail.com","message"=>"klkllkklk","nickname"=>""},"commit"=>"Send Message"}
--->>> 1 create contact
--->>> 2 create contact
Test: {
  "name": "AMER Y BEaraT","email": "bearatamer@gmail.com","message": "klkllkklk","nickname": ""
}
--->>> 3 create contact
--->>> 4 create contact
Started POST "/homepage" for ::1 at 2021-03-07 11:42:32 -0700
Processing by HomepageController#create as JS
  Parameters: {"utf8"=>"✓","nickname": ""
}
--->>> 3 create contact
--->>> 4 create contact

\logs 来自这个控制器 homepage_controller.rb 文件

app/controllers/homepage_controller.rb

class HomepageController < ApplicationController
    def index
        @contact = Homepage.new(params[:homepage])
    end
    def create
        puts "--->>> 1 create contact"
        @contact = Homepage.new(params[:homepage])
        puts "--->>> 2 create contact"
        puts "Test: " + JSON.pretty_generate(JSON.parse(@contact.to_json))
        @contact.request = request
        puts "--->>> 3 create contact"
        respond_to do |format|
          puts "--->>> 4 create contact"
          if @contact.deliver
            puts "--->>> Pass create contact"
            # re-initialize Home object for cleared form
            @contact = Homepage.new
            format.html { render 'index'}
            format.js   { flash.Now[:success] = @message = "Thank you for your message. I'll get back to you soon!" }
          else
            puts "--->>> Fails create contact"
            format.html { render 'index' }
            format.js   { flash.Now[:error] = @message = "Message did not send." }
          end
        end
      end
end

这是局部视图 app/views/homepage/_contact_form.html.erb

<%= form_for @contact,url: homepage_index_path,remote: true do |f| %>
    <div class="contact-form-container">
        <div>
            <%= f.label :name %></br>
            <%= f.text_field  :name,required: true,class: "contact-form-text-area" %>
        </div>
        <div>
            <%= f.label :email %></br>
            <%= f.text_field :email,class: "contact-form-text-area" %>
        </div>
        <div>
            <%= f.label :message %></br>
            <%= f.text_area :message,rows: 8,cols: 40,class: "contact-form-text-area",placeholder: "Send us a message"%>
        </div>
        <div class= "hidden">
            <%= f.label :nickname %>
            <%= f.text_field :nickname,:hint => 'Leave this field blank!' %>
        </div>
        <div class="btn-send-message">
            <%= f.submit 'Send Message',class: 'btn btn-send-message-primary',remote: true %>
        </div>
    </div>
  <% end %>
  <div class="col-md-6" id="flash-message">
    <%= render 'flash' %>
  </div>

这是 create.js.erb 文件 app/views/homepage/create.js.erb

// Test for ajax success
console.log("This is the create.js.erb file");
// Render flash message
$('#contact').html("<%= j render 'contact_form' %>");
$('#flash-message').html("<%= j render 'flash' %>").delay(3000).fadeOut(4000);

这里是 development.rb 文件 配置/环境/development.rb

 config.action_mailer.perform_deliveries = true
  config.action_mailer.default_url_options = {  :host => 'localhost:3000'  }
  config.action_mailer.default :charset => "utf-8"
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    address: 'smtp.mailgun.org',port: 587,domain: '********.com',enable_starttls_auto: true,authentication: 'plain',user_name: 'postmaster@********.com',password: '***************************'
  }
  config.action_mailer.raise_delivery_errors = true

注意:应用程序中的其他电子邮件工作正常,所以我不认为这是 mailgun 配置问题

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?