问题描述
|
我正在尝试创建一个提交表单的联系人。但是我没有收到任何电子邮件。
在我的config / application.rb中,我添加了。
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
:address => \"mail.vinderhimlen.dk\",:port => 587,:user_name => \"asd@vinderhimlen.dk\",:password => \"x\",:authentication => :login
}
我的表格:
<%= simple_form_for [@support],:url => { :action => \"create\" },:html => { :method => :post } do |f| %>
<%= f.input :sender_name,:label => \'Navn\' %>
<%= f.input :email,:label => \'E-mail\' %>
<%= f.input :support_type,:collection => [\'Feedback\',\'Idé\',\"Rapporter fejl\",\'Business\',\'Andet\'],:prompt => \"Valg type\",:label => \'Erinde\' %>
<%= f.label :Besked %>
<%= f.text_area :content,:label => \'Besked\',:style => \'width:500px;\',%>
<%= f.submit \"submit\",:value => \'Send besked\' %>
<% end %>
我的支持控制器:
class SupportsController < ApplicationController
def new
# id is required to deal with form
@support = Support.new(:id => 1)
end
def create
@support = Support.new(params[:support])
if @support.save
redirect_to(\'/\',:notice => \"Support was successfully sent.\")
else
flash[:alert] = \"You must fill all fields.\"
render \'new\'
end
end
end
我的支持模型:
class Support
include ActiveModel::Validations
validates_presence_of :email,:sender_name,:support_type,:content
# to deal with form,you must have an id attribute
attr_accessor :id,:email,:content
def initialize(attributes = {})
attributes.each do |key,value|
self.send(\"#{key}=\",value)
end
@attributes = attributes
end
def read_attribute_for_validation(key)
@attributes[key]
end
def to_key
end
def save
if self.valid?
Notifier.support_notification(self).deliver
return true
end
return false
end
end
我的配置/环境/发展:
Konkurranceportalen::Application.configure do
# Settings specified here will take precedence over those in config/application.rb
# In the development environment your application\'s code is reloaded on
# every request. This slows down response time but is perfect for development
# since you don\'t have to restart the webserver when you make code changes.
config.cache_classes = false
# Log error messages when you accidentally call methods on nil.
config.whiny_nils = true
config.perform_delivery = true
# Show full error reports and disable caching
config.consider_all_requests_local = true
config.action_view.debug_rjs = true
config.action_controller.perform_caching = false
# Don\'t care if the mailer can\'t send
config.action_mailer.raise_delivery_errors = true
# Print deprecation notices to the Rails logger
config.active_support.deprecation = :log
# Only use best-standards-support built into browsers
config.action_dispatch.best_standards_support = :builtin
end
提交表单时,我的rails登录:
Started POST \"/supports\" for 127.0.0.1 at 2011-05-31 11:15:35 +0200
Processing by SupportsController#create as HTML
Parameters: {\"utf8\"=>\"Ô£ô\",\"authenticity_token\"=>\"bn05TaU4o6TwLVwYH0PgnDyYouo
P1HptzW3HHY2QV/s=\",\"support\"=>{\"sender_name\"=>\"asdasd\",\"email\"=>\"ssad@sazdasd.
dk\",\"support_type\"=>\"Id├®\",\"content\"=>\"asdasd\"},\"commit\"=>\"Send besked\"}
←[1m←[36msql (0.0ms)←[0m ←[1mSELECT SUM(`tags`.`konkurrancers_count`) AS sum_
id FROM `tags`←[0m
←[1m←[35msql (8.0ms)←[0m describe `kategoris_konkurrancers`
←[1m←[36mKonkurrancer Load (1.0ms)←[0m ←[1mSELECT `konkurrancers`.* FROM `kon
kurrancers`←[0m
←[1m←[35mCACHE (0.0ms)←[0m SELECT `konkurrancers`.* FROM `konkurrancers`
←[1m←[36mTag Load (1.0ms)←[0m ←[1mSELECT `tags`.* FROM `tags`←[0m
Rendered notifier/support_notification.html.erb (1.0ms)
Sent mail to asd@vinderhimlen.dk (1752ms)
Date: Tue,31 May 2011 11:15:39 +0200
From: ssad@sazdasd.dk
To: asd@vinderhimlen.dk
Message-ID: <4asdqweb124ce_16cc85248bc677b3@Home-Pc.mail>
Subject: =?UTF-8?Q?New_Id=C3=A9?=
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8
Content-transfer-encoding: quoted-printable
=EF=BB=BFHello World!
asdasd=
Redirected to http://localhost:3000/
Completed 302 Found in 4503ms
解决方法
要以开发人员模式触发邮件,请将其添加到您的development.yml文件中:
config.action_mailer.perform_deliveries = true