mailerとsendgridを使用して、連絡先フォームをレールに設定しようとしています。私はHeroku上でアプリを実行しています。電子メールが届かない - Rails、Heroku、Sendgrid
私はDeviseを認証に使用しており、その電子メールは何の問題もなく送受信されているため、開発およびプロダクションの設定ファイルは大丈夫だと思います。問題は、私が作成したメーラーに関連しています。
端末では、開発中に電子メールがトリガーされていることが示され、プロダクションでは、herokuログに送信中であることが示されます。すべてがうまく見えますが、電子メールは到着していません。
フィードバックありがとうございます。
これはコードである:
free_trial_form
<%= form_tag("/public_pages/contato_free_trial", :id => 'free_trail_form') do %>
<div class="form-group">
<%= text_field_tag :nome,nil, placeholder:"Seu nome", class: "form-control", id:"free_trail_form_nome_field" %>
</div>
<div class="form-group">
<%= email_field_tag :email,nil, placeholder:"Seu e-mail", class: "form-control", id:"free_trail_form_email_field" %>
</div>
<div class="form-group">
<%= text_area_tag :conteudo,nil, placeholder:"Veja na prática como é o nosso ensino. Digite aqui os horários mais confortáveis para você!", class: "form-control",id:"free_trail_form_text_area" %>
</div>
<div class="free_trail_form_area_btns">
<%= button_tag(type:"submit", id: "free_trail_form_btn", class:"btn btn-danger",:onclick => "alert('Mensagem enviada. Obrigado!');") do %>
<span id="free_trail_form_btn_icon" class="glyphicon glyphicon-calendar"></span>
MARCAR AULA GRATUITA
<% end %>
<%=link_to(escola_path,id:"free_trail_form_escola_link") do %>
<button id="free_trail_form_escola_link_btn" class="btn btn-primary">
OU SAIBA MAIS AGORA <span id="free_trail_form_escola_link_icon" class="glyphicon glyphicon-arrow-right"></span>
</button>
<% end %>
</div>
<% end %>
public_pages_controller/contato_free_trial
def contato_free_trial
@nome = params[:nome]
@email = params[:email]
@conteudo = params[:conteudo]
PublicPagesMailer.free_trial_email(@nome,@email,@conteudo).deliver_now
redirect_to(:back)
end
public_pages_mailer
class PublicPagesMailer < ApplicationMailer
def free_trial_email(nome,email,conteudo)
@nome = nome
@email = email
@conteudo = conteudo
mail(from: @email, to: '[email protected]', subject: "Contato de Prospecto")
end
プロダクション設定ファイル
ActionMailer::Base.smtp_settings = {
:address => 'smtp.sendgrid.net',
:port => '587',
:authentication => :plain,
:user_name => ENV['SENDGRID_USERNAME'],
:password => ENV['SENDGRID_PASSWORD'],
:domain => 'heroku.com',
:enable_starttls_auto => true
}
config.cache_classes = true
config.eager_load = true
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
config.assets.js_compressor = :uglifier
config.assets.compile = true
config.assets.digest = true
config.log_level = :debug
config.i18n.fallbacks = true
config.active_support.deprecation = :notify
config.log_formatter = ::Logger::Formatter.new
config.active_record.dump_schema_after_migration = false
config.action_mailer.default_url_options = { :host => 'myapp.herokuapp.com' }
いいえ、私はあなたが示唆したものを試しましたが、今まで成功していません。私は本当に何をすべきか分からない。すべてが大丈夫ですが、メールは到着しません –
あなたはherokuログの出力をコピーして貼り付けできますか? Btw、Sendgrid用に設定されたheroku認証情報を確認してください。あなたのherokuパネルでは、私は思う: "設定"をクリックし、 "設定varsを公開する"。 正しい資格情報を持っていることを確認してください。 –