[英]Rails Contact form, Action_mailer not sending e-mail
我不太确定自己在做什么错。
我看到很多人都有类似的问题: Rails联系人表单不起作用 , Rails 3 Contact Form,未定义方法? , Rails 3等中的“ 联系我们”表单 。
即使很艰难,我也看到很多人认为这很简单-建立联系表。
经过流行的actionmailer指南: http : //guides.rubyonrails.org/action_mailer_basics.html,http://railscasts.com/episodes/206-action-mailer-in-rails-3
我不是真正的开发人员,所以我觉得很困惑。
无论如何,我需要构建一个简单的联系表,以将消息作为电子邮件发送给我的电子邮件帐户。 我不想将消息存储在我的数据库中。
这是我的代码:
/app/models/message.rb
class Message
include ActiveModel::Validations
include ActiveModel::Conversion
extend ActiveModel::Naming
attr_accessor :name, :email, :content
def initialize(attributes = {})
attributes.each do |name, value|
send("#{name}=", value)
end
end
def persisted?
false
end
end
app \\ controllers \\ messages_controller.rb
class MessagesController < ApplicationController
def new
@message = Message.new
end
def create
@message = Message.new(params[:message])
MessageMailer.send(@message).deliver
flash[:notice] = "Message sent! Thank you for contacting us."
redirect_to root_url
end
end
/app/mailer/message_mailer.rb
class MessageMailer < ActionMailer::Base
default :to => "emils.veveris@thrillengine.com"
def send(message)
@message = message
mail( :subject => " Test ", :from => @message.email ) do |format|
format.text
end
end
end
app / views / messages / new.html.erb
<h1> "Contact Us" </h1>
<%= form_for @message do |f| %>
<p>
<%= f.label :name %><br />
<%= f.text_field :name %>
</p>
<p>
<%= f.label :email %><br />
<%= f.text_field :email %>
</p>
<p>
<%= f.label :content, "Message" %><br />
<%= f.text_area :content %>
</p>
<p><%= f.submit "Send Message" %></p>
<% end %>
app / views / message_mailer / sent.text.erb
Message sent by <%= @message.name %>
<%= @message.content %>
和development.rb
N1::Application.configure do
# Don't care if the mailer can't send
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
end
我在日志文件中没有看到任何错误,也没有收到任何错误消息。 邮件只是未送达。
您能告诉我我做错了吗?
谢谢!
这有点老了,但也许某些概念可以为您提供帮助...这几乎完全是您要尝试执行的操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.